源码如下<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
<%
Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=eshopDB"; String user="sa";
String password="dba";
Connection conn=DriverManager.getConnection(url,user,password);
Statement stmt =conn.createStatement();String sql="select * from ProductClass";ResultSet rs = stmt.executeQuery(sql);
%>
<table>
<% while(rs.next()) { %>
<tr>
<td width="70" colspan="2">
<a href="hello.jsp?ID=<%=rs.getString("ClassID")%>"><%=rs.getString("ClassName")%></a>
<%}%>
</td>
</tr> <%
String m_sql="Select CategoryID,CategoryName,ClassID from ProductCategory where ClassID='"+<%=rs.getString("ClassID")%>+"'";
ResultSet m_rs = stmt.executeQuery(m_sql);
%>
<% while(m_rs.next()) { %>
<tr>
<td width="70">
<a href="hello.jsp?ID=<%=m_rs.getString("CategoryID")%>"><%=rs.getString("CategoryName")%></a>
<%if(m_rs.next()){%>
</td>
<td width="70"><a href="hello.jsp?ID=<%=m_rs.getString("CategoryID")%>"><%=m_rs.getString("CategoryName")%></a>
<%}%>
</td>
</tr>
<%}%>
</table>错误信息如下:type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 28 in the jsp file: /menu_3.jsp
Generated servlet error:
C:\Tomcat 5.0\work\Catalina\localhost\infosite\org\apache\jsp\menu_005f3_jsp.java:84: illegal start of expression
String m_sql="Select CategoryID,CategoryName,ClassID from ProductCategory where ClassID='"+<%=rs.getString("ClassID")
^
An error occurred at line: 32 in the jsp file: /menu_3.jsp
Generated servlet error:
C:\Tomcat 5.0\work\Catalina\localhost\infosite\org\apache\jsp\menu_005f3_jsp.java:89: cannot resolve symbol
symbol : variable m_rs
location: class org.apache.jsp.menu_005f3_jsp
while(m_rs.next()) {
^
An error occurred at line: 35 in the jsp file: /menu_3.jsp
Generated servlet error:
C:\Tomcat 5.0\work\Catalina\localhost\infosite\org\apache\jsp\menu_005f3_jsp.java:94: cannot resolve symbol
symbol : variable m_rs
location: class org.apache.jsp.menu_005f3_jsp
out.print(m_rs.getString("CategoryID"));
^
An error occurred at line: 36 in the jsp file: /menu_3.jsp
Generated servlet error:
C:\Tomcat 5.0\work\Catalina\localhost\infosite\org\apache\jsp\menu_005f3_jsp.java:100: cannot resolve symbol
symbol : variable m_rs
location: class org.apache.jsp.menu_005f3_jsp
if(m_rs.next()){
^
An error occurred at line: 38 in the jsp file: /menu_3.jsp
Generated servlet error:
C:\Tomcat 5.0\work\Catalina\localhost\infosite\org\apache\jsp\menu_005f3_jsp.java:104: cannot resolve symbol
symbol : variable m_rs
location: class org.apache.jsp.menu_005f3_jsp
out.print(m_rs.getString("CategoryID"));
^
An error occurred at line: 38 in the jsp file: /menu_3.jsp
Generated servlet error:
C:\Tomcat 5.0\work\Catalina\localhost\infosite\org\apache\jsp\menu_005f3_jsp.java:107: cannot resolve symbol
symbol : variable m_rs
location: class org.apache.jsp.menu_005f3_jsp
out.print(m_rs.getString("CategoryName"));
^
6 errors org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
解决方案 »
- 区别
- 请问有谁用过 spingside 的UUIDHexIdEntity
- jakarta-tomcat-5在哪个页面下载
- 有关FCKEditor的问题,按照网上的介绍,配置完后,其他都能用,但是上传图片的时候,点击“发送到服务器”按钮,没有任何反应,这个大概是什么问题?
- IText 的问题
- 急,tapestry中如何设置application变量????
- 客户端连接数据库访问WebService时报错
- jasperreport连续打印分页问题
- jsp运行在tomcat5。0下得问题(100分)
- 400分寻求有较好学习价值的JSP源代码!
- 请问怎么用JSP来取到文件路径,请高手帮忙!!!!!
- 那位有jsp相关打印方面的资料呀源程序?
String m_sql="Select CategoryID,CategoryName,ClassID from ProductCategory where ClassID='"+<%=rs.getString("ClassID")%>+"'";
ResultSet m_rs = stmt.executeQuery(m_sql);
%>
应该为
<%
String m_sql="Select CategoryID,CategoryName,ClassID from ProductCategory where ClassID='"+rs.getString("ClassID")+"'";
ResultSet m_rs = stmt.executeQuery(m_sql);
%>
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: [Microsoft][SQLServer JDBC Driver]Invalid operation for the current cursor position.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.menu_005f3_jsp._jspService(menu_005f3_jsp.java:122)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.sql.SQLException: [Microsoft][SQLServer JDBC Driver]Invalid operation for the current cursor position.
com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
com.microsoft.jdbc.base.BaseResultSet.validateCursorPosition(Unknown Source)
com.microsoft.jdbc.base.BaseResultSet.getString(Unknown Source)
com.microsoft.jdbc.base.BaseResultSet.getString(Unknown Source)
org.apache.jsp.menu_005f3_jsp._jspService(menu_005f3_jsp.java:83)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
String m_sql="Select CategoryID,CategoryName,ClassID from ProductCategory where ClassID='"+“----this <%”=rs.getString("ClassID")“%>-----this”+"'";
ResultSet m_rs = stmt.executeQuery(m_sql);
%>
<%%>里面需要再嵌套<%%>吗?
因为你前面已经判断了 <% while(m_rs.next()) { %>
应该可以了
以改成现在这样:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
<%
Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=eshopDB"; String user="sa";
String password="dba";
Connection conn=DriverManager.getConnection(url,user,password);
Statement stmt =conn.createStatement();String sql="select * from ProductClass";ResultSet rs = stmt.executeQuery(sql);%>
<table>
<% while(rs.next()) { %>
<tr>
<td width="120" colspan="2">
<a href="hello.jsp?ID=<%=rs.getString("ClassID")%>"><%=rs.getString("ClassName")%></a>
<%}%>
</td>
</tr><%
String m_sql="Select CategoryID,CategoryName,ClassID from ProductCategory where ClassID='"+rs.getString("ClassID")+"'";
ResultSet m_rs = stmt.executeQuery(m_sql);
%>
<% while(m_rs.next()) { %>
<tr>
<td width="70">
<a href="hello.jsp?ID=<%=m_rs.getString("CategoryID")%>"><%=rs.getString("CategoryName")%></a>
<%if(m_rs.next()){%>
</td>
<td width="70"><a href="hello.jsp?ID=<%=m_rs.getString("CategoryID")%>"><%=m_rs.getString("CategoryName")%></a>
<%}%>
</td>
</tr>
<%}%>
</table>
错误信息如下:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: [Microsoft][SQLServer JDBC Driver]Invalid operation for the current cursor position.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.menu_005f3_jsp._jspService(menu_005f3_jsp.java:123)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.sql.SQLException: [Microsoft][SQLServer JDBC Driver]Invalid operation for the current cursor position.
com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
com.microsoft.jdbc.base.BaseResultSet.validateCursorPosition(Unknown Source)
com.microsoft.jdbc.base.BaseResultSet.getString(Unknown Source)
com.microsoft.jdbc.base.BaseResultSet.getString(Unknown Source)
org.apache.jsp.menu_005f3_jsp._jspService(menu_005f3_jsp.java:84)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
<%
Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=eshopDB"; String user="sa";
String password="dba";
Connection conn=DriverManager.getConnection(url,user,password);
Statement stmt =conn.createStatement();String sql="select * from ProductClass";ResultSet rs = stmt.executeQuery(sql);
String id = null ;
%>
<table>
<% while(rs.next()) {
<%id = rs.getString("ClassID");%>
%>
<tr>
<td width="120" colspan="2">
<a href="hello.jsp?ID=<%=rs.getString("ClassID")%>"><%=rs.getString("ClassName")%></a>
<%}%>
</td>
</tr><%
String m_sql="Select CategoryID,CategoryName,ClassID from ProductCategory where ClassID='"+rs.getString("ClassID")+"'";
ResultSet m_rs = stmt.executeQuery(m_sql);
%>
<% while(m_rs.next()) { %>
<tr>
<td width="70">
<a href="hello.jsp?ID=<%=m_rs.getString("CategoryID")%>"><%=rs.getString("CategoryName")%></a>
<%if(m_rs.next()){%>
</td>
<td width="70"><a href="hello.jsp?ID=<%=m_rs.getString("CategoryID")%>"><%=m_rs.getString("CategoryName")%></a>
<%}%>
</td>
</tr>
<%}%>
</table>//
不好意思sql改成这样
<tr>
<td width="70">
<a href="hello.jsp?ID=<%=m_rs.getString("CategoryID")%>"><%=rs.getString("CategoryName")%></a>
<%if(m_rs.next()){%>
</td>
<td width="70"><a href="hello.jsp?ID=<%=m_rs.getString("CategoryID")%>"><%=m_rs.getString("CategoryName")%></a>
<%}%>
</td>
</tr>
<%}%>
这一段好像有问题,你屏蔽掉看看会不会报错先,你要学会调试代码呀
万能的楼主啊怎么不好好检查下代码<%
String m_sql="Select CategoryID,CategoryName,ClassID from ProductCategory where ClassID='"+<%=rs.getString("ClassID")%>+"'";
ResultSet m_rs = stmt.executeQuery(m_sql);
%>连续使用两个JSP表达式<%<%,<%
String m_sql="Select CategoryID,CategoryName,ClassID from ProductCategory where ClassID='"+rs.getString("ClassID")+"'";
ResultSet m_rs = stmt.executeQuery(m_sql);
%>建议用JSP编辑器吧,代码错误比较容易看出来
看的我头昏,最好的办法还是你自己在编辑器里调试
String m_sql="Select CategoryID,CategoryName,ClassID from ProductCategory where ClassID='"+<%=rs.getString("ClassID")%>+"'";
ResultSet m_rs = stmt.executeQuery(m_sql);
%>
改成:
<%
String strClassID=rs.getString("ClassID");
String m_sql="Select CategoryID,CategoryName,ClassID from ProductCategory where ClassID='"+strClassID+"'";
ResultSet m_rs = stmt.executeQuery(m_sql);
%>
祝你好运!
<tr>
<td width="120" colspan="2">
<a href="hello.jsp?ID=<%=rs.getString("ClassID")%>"><%=rs.getString("ClassName")%></a>
<%}%>
</td>
</tr><%
String m_sql="Select CategoryID,CategoryName,ClassID from ProductCategory where ClassID='"+rs.getString("ClassID")+"'";
ResultSet m_rs = stmt.executeQuery(m_sql);
%>
在这一句,上面一个while(rs.next())已经把rs指到最后一条EOF的字录.你在下面再用rs.getString("ClassID")就会有问题了.不然你先用rs.first()等试下