在jsp中用Bean的问题
编写了一个Bean 编译成.class 后放在\Tomcat 5.0\common\classes 中
Bean 中大概是这样
package TempDB;
import java.sql.*;
public class TempDB{
public TempDB(){
}
}
在jsp中写<jsp:useBean id="subject" scope="page" class="TempDB.TempDB"/>
在tomcat中运行时会出现如下出错信息
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: /bcd.jsp(8,0) The value for the useBean class attribute TempDB.TempDB is invalid.
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:150)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1225)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
org.apache.jasper.compiler.Generator.generate(Generator.java:3269)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:244)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
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)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.27 logs.
怎么解决呢
问题点数:50、回复次数:9Top
1 楼anzy(安子)回复于 2004-09-01 11:13:19 得分 0
自己顶Top
2 楼laoxing521(想做程序员的农民)回复于 2004-09-01 11:39:10 得分 7
/bcd.jsp(8,0) The value for the useBean class attribute TempDB.TempDB is invalid.
---------------------------
我怀疑是你的javaBean写得有错误
最好把jsp和javabean源文件都贴出来Top
3 楼yjc2020(追梦人)回复于 2004-09-01 11:42:28 得分 7
不明白为什么放在这里:编写了一个Bean 编译成.class 后放在\Tomcat 5.0\common\classes 中Top
4 楼pingfan520(平凡)回复于 2004-09-01 11:47:48 得分 22
你有没有把你的Bean编译的.class 放到Tomcat 5.0\common\classes\TempDB\中Top
5 楼anzy(安子)回复于 2004-09-01 11:57:43 得分 0
Bean 的源代码
package TempDB;
import java.sql.*;
public class TempDB{
String ls_username = "root";
String ls_password = "";
String ls_server = "localhost";
String ls_dbname = "temp_db";
private Connection conn= null;
private Statement stmt=null;
ResultSet rs=null;
public TempDB(){
try{
Class.forName("org.gjt.mm.mysql.Driver");
}
catch(java.lang.ClassNotFoundException e){
System.err.println("TempDB():"+e.getMessage());
}
}
public ResultSet executeQuery(String sql){
rs=null;
try{
conn=DriverManager.getConnection("jdbc:mysql://"+ls_server+"/"+ls_dbname,ls_username,ls_password);
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex){
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return rs;
}
public void executeUpdate(String sql){
stmt=null;
rs=null;
try{
conn=DriverManager.getConnection("jdbc:mysql://"+ls_server+"/"+ls_dbname,ls_username,ls_password);
stmt=conn.createStatement();
stmt.executeQuery(sql);
stmt.close();
conn.close();
}
catch(SQLException ex){
System.err.println("aq.executeUpdate:"+ex.getMessage());
}
}
public void closeStmt(){
try{
stmt.close();
}
catch(SQLException e){
e.printStackTrace();
}
}
public void closeConn(){
try{
conn.close();
}
catch(SQLException e){
e.printStackTrace();
}
}
}Top
6 楼anzy(安子)回复于 2004-09-01 12:00:02 得分 0
to: yjc2020(追梦人)
我是照着一本书上做的 它是这样写的
to : pingfan520(平凡)
需要这样么? 我试试Top
7 楼rui_costa()回复于 2004-09-01 12:20:01 得分 7
当前地址为jsp文件地址
把TempDB.class放在当前目录/WEB-INF/CLASSES/TempDB下Top
8 楼xiaomaofantuan(嘻嘻哈哈)回复于 2004-09-01 12:27:54 得分 7
package TempDB;
建议包名最好是小写的tempdb
有时候经常是这样的小问题引起的Top
9 楼anzy(安子)回复于 2004-09-01 12:27:54 得分 0
谢谢 pingfan520(平凡)
是需要放在
Tomcat 5.0\common\classes\TempDB\ 中
Top




