我刚刚学习java,很多地方还很糊涂,请高手不吝指教.
代码如下<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="GB2312"%>
<html>
<head>
</head>
<body>
<br>
<br>
<%!int num;%>
<jsp:useBean scope="page" id="sqlbean" class="feng.util.sql_data"></jsp:useBean>
<%try {
ResultSet rs01 = sqlbean
.executeQuery("select max(message_id) from message");
} catch (Exception e) {
out.print(e.getMessage());
}
try {
num = rs01.getInt(1);
num -= 5;
String str = "select message_name,message_content from message while message_id>="+ num + " group by message_id desc";
java.sql.ResultSet rs02 = sqlbean.executeQuery(str);%>
<table border=1 align="center" width="80%" height="10px">
<tr>
<th>
标题
</th>
<th>
内容
</th>
</tr>
<%while (rs02.next()) {%>
<tr>
<td align="center">
<%=rs02.getString(1)%>
</td>
<td>
<%=rs02.getString(2)%>
</td>
<tr>
<br>
<%}
} catch (Exception e) {
String haha = e.getMessage();
out.print(haha);
} finally {%>
<p>
请输入您要提交的留言:
<FORM name="hh" action="in.jsp" method="GET">
<P>
<INPUT name="title"></input>
<P>
<TEXTAREA name="text" rows="5" cols="80%"></TEXTAREA>
<br>
<input type="submit">
<input type="Reset">
</FORM>
<%}%>
</body>
</html>
结果给出如下错误
org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 31 in the jsp file: /putup.jsp
Generated servlet error:
rs01 cannot be resolved
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:409)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.12 logs.
代码如下<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="GB2312"%>
<html>
<head>
</head>
<body>
<br>
<br>
<%!int num;%>
<jsp:useBean scope="page" id="sqlbean" class="feng.util.sql_data"></jsp:useBean>
<%try {
ResultSet rs01 = sqlbean
.executeQuery("select max(message_id) from message");
} catch (Exception e) {
out.print(e.getMessage());
}
try {
num = rs01.getInt(1);
num -= 5;
String str = "select message_name,message_content from message while message_id>="+ num + " group by message_id desc";
java.sql.ResultSet rs02 = sqlbean.executeQuery(str);%>
<table border=1 align="center" width="80%" height="10px">
<tr>
<th>
标题
</th>
<th>
内容
</th>
</tr>
<%while (rs02.next()) {%>
<tr>
<td align="center">
<%=rs02.getString(1)%>
</td>
<td>
<%=rs02.getString(2)%>
</td>
<tr>
<br>
<%}
} catch (Exception e) {
String haha = e.getMessage();
out.print(haha);
} finally {%>
<p>
请输入您要提交的留言:
<FORM name="hh" action="in.jsp" method="GET">
<P>
<INPUT name="title"></input>
<P>
<TEXTAREA name="text" rows="5" cols="80%"></TEXTAREA>
<br>
<input type="submit">
<input type="Reset">
</FORM>
<%}%>
</body>
</html>
结果给出如下错误
org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 31 in the jsp file: /putup.jsp
Generated servlet error:
rs01 cannot be resolved
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:409)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.12 logs.
正解!!!!!!!!!!!!!!
<%try {
ResultSet rs01 = sqlbean //定义了rs01
.executeQuery("select max(message_id) from message");
} catch (Exception e) {
out.print(e.getMessage()); //如果异常,rs01 实效
}
try {
num = rs01.getInt(1); //如果异常,不会执行到这,所以rs01 会编译不通过...
给分哦~