javabean 连接sql2005出错

zlaimy 2010-03-16 11:23:32
我运行的环境是tomcat6.0 java1.6 myeclipse开发环境 SQL2005的端口是1598
在连接SQL2005的时候网页出现下面报错的

The server encountered an internal error () that prevented it from fulfilling this request.
Exception report

message

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 report

message

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 错误刷新几次是在这两错误中徘徊出现
...全文
45 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tuo_bing 2010-03-16
  • 打赏
  • 举报
回复
JSP 页面是第一次连接吧 ? 建议先将连接等关闭,而后在调试,看看问题是否继续出现,或者出现其他的新的错误信息 。。。
zlaimy 2010-03-16
  • 打赏
  • 举报
回复
但出现的问题的Unable to load class for JSP
The value for the useBean class attribute is invalid
假如没关的话应该会出现其它的报错,且我用JSP页面来连接都事OK的
shiqin8498 2010-03-16
  • 打赏
  • 举报
回复
Class.forName(sDBDriver).newInstance();
Connection与Statement 都没关的缘故
没关再去开启新连接可能会有点问题


FROM:java QQ 群Java 2 Enterprise Edition(88509302)
zlaimy 2010-03-16
  • 打赏
  • 举报
回复
弄了那么久不是我代码的问题而已我没配置好ECLIPSE 今天有高手帮我弄好了
zlaimy 2010-03-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tuo_bing 的回复:]
JSP 页面是第一次连接吧 ? 建议先将连接等关闭,而后在调试,看看问题是否继续出现,或者出现其他的新的错误信息 。。。
[/Quote]
不是关不关的问题啊 关了也一样
问题不是说我写的类有问题 好像是TOMCAT找不到我的类 但我的类明明在CLASS文件内啊

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧