使用JAVABEAN报错,求救

z184931481 2007-05-30 01:07:21
环境JDK+TOMCAT+SQLSERVER 2000
问题:JSP文件调用JAVABEAN错误(JAVABEAN能够正确编译并能够正确生成CLASS文件)
存放位子:文件夹/WEB-INF/CLASSES/下
JAVABEAN文件:
package forjavabean;
import java.sql.Connection;
import java.sql.DriverManager;


public class Javabean {
public static Connection getConnection(){
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=myjob";
String user="sa";
String password="";
Connection conn=null;
try{
conn= DriverManager.getConnection(url,user,password);
}catch (Exception e) {

}
return conn;
}
public Javabean(){
}
}
JSP文件:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<%request.setCharacterEncoding("GBK");%>
<jsp:useBean id="forjavabean" class="forjavabean.javabean" scope="page"/>
<HTML>
<BODY>
<p>
<%
response.setCharacterEncoding("GBK");
String name=request.getParameter("name");
String pass=request.getParameter("password");
String verify="select * from user1 where name='"+name+"'and pass='"+pass+"'";
rs=stmt.executeQuery(verify);
if(rs.next()){
response.sendRedirect("itlife.jsp");}
else{
response.sendRedirect("error.jsp");}
rs.close();
stmt.close();
conn.close();
%>
</p>
</BODY>
</HTML>
运行JSP文件报错:
org.apache.jasper.JasperException: /11.jsp(4,0) The value for the useBean class attribute forjavabean.javabean 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:1200)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1155)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2336)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2386)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2392)
org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2336)
org.apache.jasper.compiler.Generator.generate(Generator.java:3394)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:210)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
另一处错:
org.apache.jasper.JasperException: org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:154)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

急盼高手解决


...全文
327 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
z184931481 2007-05-31
  • 打赏
  • 举报
回复
问题解决谢谢Gavinsky_feifei() 帮忙,谢谢大家!
jakeyli115 2007-05-30
  • 打赏
  • 举报
回复
大哥,你的JAVABEAN文件是不是少了点什么?
这个BEAN就是连接数据库嘛。
package forjavabean;
import java.sql.*;
public class Javabean {
private Connection con;
private ResultSet rs;
private PreparedStatement pst;
public Javabean () {

try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=news","sa","sa");

}catch(Exception e){
e.printStackTrace();
}

}
少了这句吧 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
另外public class Javabean 你的类名会不会是关键字哦,最好换一个类名吧。
HEJIE918 2007-05-30
  • 打赏
  • 举报
回复
bean名写错了
Gavinsky_feifei 2007-05-30
  • 打赏
  • 举报
回复
javabean
package he;

import java.sql.Connection;
import java.sql.DriverManager;


public class Javabean {
public static Connection getConnection(){
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=myjob";
String user="sa";
String password="";
Connection conn=null;
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn= DriverManager.getConnection(url,user,password);
}catch (Exception e) {

}
return conn;
}
public Javabean(){
}
}
jsp页面
<%@ page contentType="text/html; charset=GBK" %>

<%@ page import="java.sql.*" %>
<%request.setCharacterEncoding("GBK");%>
<jsp:useBean id="forjavabean" class="he.Javabean" scope="page"/>
<HTML>
<BODY>
<p>
<%
response.setCharacterEncoding("GBK");
Connection conn = forjavabean.getConnection();
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String verify="select * from user1 where name='1'and pass='2'";
ResultSet rs=stmt.executeQuery(verify);
if(rs.next()){
response.sendRedirect("itlife.jsp");}
else{
response.sendRedirect("error.jsp");}
rs.close();
stmt.close();
conn.close();
%>


出来那个你的Javabean的属性是非法的是因为你的 <jsp:useBean/>的Class写错了 再稍微改一下其他的就OK了啊 !
z184931481 2007-05-30
  • 打赏
  • 举报
回复
而第2次刷新报的错误应该是JAVABEAN没引用起来,不然的话为什么会说conn.close连接关闭会错误呢
shan1119 2007-05-30
  • 打赏
  • 举报
回复
噢,有了,没看见.
shan1119 2007-05-30
  • 打赏
  • 举报
回复
Statement跟ResultSet的包需要引用吧.
z184931481 2007-05-30
  • 打赏
  • 举报
回复
放在 forjavabean文件夹下报错:org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 12 in the jsp file: /11.jsp
conn cannot be resolved
9: response.setCharacterEncoding("GBK");
10: String name=request.getParameter("name");
11: String pass=request.getParameter("password");
12: Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
13: ResultSet rs;
14: String verify="select * from user1 where name='"+name+"'and pass='"+pass+"'";
15: rs=stmt.executeQuery(verify);


An error occurred at line: 22 in the jsp file: /11.jsp
conn cannot be resolved
19: response.sendRedirect("error.jsp");}
20: rs.close();
21: stmt.close();
22: conn.close();
23: %>
24: </p>
25: </BODY>
刷新第2次报错误:
org.apache.jasper.JasperException: org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:154)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

li_d_s 2007-05-30
  • 打赏
  • 举报
回复
放在/WEB-INF/CLASSES/forjavabean下。。
z184931481 2007-05-30
  • 打赏
  • 举报
回复
还是一样,不能够调用,谢谢
混沌骑士 2007-05-30
  • 打赏
  • 举报
回复
<jsp:useBean id="forjavabean" class="forjavabean.javabean" scope="page"/>

forjavabean.javabean 应该是forjavabean.Javabean

81,092

社区成员

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

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