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 错误刷新几次是在这两错误中徘徊出现
...全文
79 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文件内啊
管理员在本系统中有着最高的权力,包括新增,更改,删除学生,教师,课程以及班级。 其中“班级” 是本系统中关键的环节,同样也是数据库中的关键。 它直接与课程,教师,上课时间,地点挂钩,学生所选的课程也要具体到某一个班级,所以首先班级号不能为空,其次要保证同一教师在同一时间不能上两门课程。 在新增“课程”时,要求决定课程所在系以及其预修课(系统会动态列出现有的课程),其中课程所在系必须与预修课所在系一致(或者选择无预修课),否则系统会有错误提示。除此之外,在更改或新增时,名称,ID或者密码等必须填写(不可为空),否则系统会有相关提示。 本系统采用Jsp+JavaBean+SQL设计方式,其中JavaBean担当数据库连接以及逻辑控制,这样在Jsp就省去了繁琐的数据库连接,以及复杂的逻辑控制,使Jsp成为表示逻辑。其数据库关系图如下,用户名,limq密码,123。 管理员在本系统中有着最高的权力,包括新增,更改,删除学生,教师,课程以及班级。 其中“班级” 是本系统中关键的环节,同样也是数据库中的关键。 它直接与课程,教师,上课时间,地点挂钩,学生所选的课程也要具体到某一个班级,所以首

81,116

社区成员

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

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