我运行的环境是tomcat6.0 java1.6 myeclipse开发环境 SQL2005的端口是1598
在连接SQL2005的时候网页出现下面报错的The server encountered an internal error () that prevented it from fulfilling this request.
Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /lyxt/WebRoot/MyJsp.jsp(2,0) The value for the useBean class attribute db.datalink.SQLLink is invalid.
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1272)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Generator.generate(Generator.java:3426)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.
Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:156)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:620)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.ClassNotFoundException: org.apache.jsp.lyxt.WebRoot.MyJsp_jsp
java.net.URLClassLoader$1.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(Unknown Source)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:618)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.、、、、、、、
代码是:
package db.datalink;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;public class SQLLink {
String sDBDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String sConnStr = "jdbc:sqlserver://192.168.1.3:1598;DatabaseName=lyxt";
Connection conn= null;
ResultSet rs = null;
String name ="sa";
String passwd ="123";
public SQLLink(){
try {
Class.forName(sDBDriver).newInstance();
} catch (Exception e) {
// TODO: handle exception
}
}
public ResultSet executeQuery(String sql)
{
rs = null;
try {
conn = DriverManager.getConnection(sConnStr, name, passwd);
//Statement stmt = conn.createStatement();
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(sql);
} catch (Exception e) {
// TODO: handle exception
}
return rs;
}
//执行插入及更新语句
public void executeInsert(String sql)
{
try {
conn = DriverManager.getConnection(sConnStr);
Statement stmt = conn.createStatement();
stmt.executeUpdate(sql);
} catch (Exception e) {
// TODO: handle exception
}
}
//执行删除操作
public void executeDelete(String sql)
{
try {
conn=DriverManager.getConnection(sConnStr,name,passwd);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
} catch (Exception e) {
// TODO: handle exception
}
}
}
<%@ page contentType="text/html;charset=gb2312" import ="java.sql.* "%>
<jsp:useBean id ="link" class="db.datalink.SQLLink" scope="page"/>
<%String sql;
sql ="select * from loginuser";
ResultSet rs;
rs =link.executeQuery(sql);
%>
<html>
<body>
<%
while ( rs.next() )
{
%>
第一个字段内容为:<%=rs.getString(2)%>
<%
} rs.close();
%>
</body>
</html>、、、、、、、、、、、、、、、、、、、
但我用JSP页面直接连接就能OK没有报错,只是用JAVABEAN的时候就出错了我调试的时候多刷新页面就会从The value for the useBean class attribute is invalid 问题
变为Unable to load class for JSP 错误刷新几次是在这两错误中徘徊出现
在连接SQL2005的时候网页出现下面报错的The server encountered an internal error () that prevented it from fulfilling this request.
Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /lyxt/WebRoot/MyJsp.jsp(2,0) The value for the useBean class attribute db.datalink.SQLLink is invalid.
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1272)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Generator.generate(Generator.java:3426)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.
Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:156)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:620)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.ClassNotFoundException: org.apache.jsp.lyxt.WebRoot.MyJsp_jsp
java.net.URLClassLoader$1.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(Unknown Source)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:618)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.、、、、、、、
代码是:
package db.datalink;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;public class SQLLink {
String sDBDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String sConnStr = "jdbc:sqlserver://192.168.1.3:1598;DatabaseName=lyxt";
Connection conn= null;
ResultSet rs = null;
String name ="sa";
String passwd ="123";
public SQLLink(){
try {
Class.forName(sDBDriver).newInstance();
} catch (Exception e) {
// TODO: handle exception
}
}
public ResultSet executeQuery(String sql)
{
rs = null;
try {
conn = DriverManager.getConnection(sConnStr, name, passwd);
//Statement stmt = conn.createStatement();
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(sql);
} catch (Exception e) {
// TODO: handle exception
}
return rs;
}
//执行插入及更新语句
public void executeInsert(String sql)
{
try {
conn = DriverManager.getConnection(sConnStr);
Statement stmt = conn.createStatement();
stmt.executeUpdate(sql);
} catch (Exception e) {
// TODO: handle exception
}
}
//执行删除操作
public void executeDelete(String sql)
{
try {
conn=DriverManager.getConnection(sConnStr,name,passwd);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
} catch (Exception e) {
// TODO: handle exception
}
}
}
<%@ page contentType="text/html;charset=gb2312" import ="java.sql.* "%>
<jsp:useBean id ="link" class="db.datalink.SQLLink" scope="page"/>
<%String sql;
sql ="select * from loginuser";
ResultSet rs;
rs =link.executeQuery(sql);
%>
<html>
<body>
<%
while ( rs.next() )
{
%>
第一个字段内容为:<%=rs.getString(2)%>
<%
} rs.close();
%>
</body>
</html>、、、、、、、、、、、、、、、、、、、
但我用JSP页面直接连接就能OK没有报错,只是用JAVABEAN的时候就出错了我调试的时候多刷新页面就会从The value for the useBean class attribute is invalid 问题
变为Unable to load class for JSP 错误刷新几次是在这两错误中徘徊出现
Connection与Statement 都没关的缘故
没关再去开启新连接可能会有点问题
FROM:java QQ 群Java 2 Enterprise Edition(88509302)
The value for the useBean class attribute is invalid
假如没关的话应该会出现其它的报错,且我用JSP页面来连接都事OK的
问题不是说我写的类有问题 好像是TOMCAT找不到我的类 但我的类明明在CLASS文件内啊