急急急~~~~~使用JavaBean时,出错说"包不存在"

yangmowei 2006-05-12 02:30:16
今天初学JavaBean,遇到一个问题,就是提示我的包不存在:package admin does no exist
使用tomcat 5.0 + jdk 1.5

具体情况如下:

jsp文件存放路径:
webapps\RealEstateAgent\admin\jsp\b_add.jsp

class文件:
webapps\RealEstateAgent\admin\jsp\WEB-INF\classes\admin\DBConn.class

其中b_add.jsp文件开头部分的内容:

<%@ page contentType = "text/html; charset = GB2312" %>
<%@ page language = "java" import = "java.util.*" %>
<%@ page import = "java.sql.*" %>
<%@ page import = "java.lang.*" %>
<jsp:useBean id="DBConn1" scope="page" class="admin.DBConn" >
</jsp:useBean>

DBConn.java文件:

package admin;
import java.sql.*;

public class DBConn {
String DBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";

String ConnStr = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName = RealEstateAgent";
String user = "rose";
String password = "rose";
Connection conn = null;
ResultSet rs = null;

public DBConn() throws InstantiationException, IllegalAccessException{
try {
Class.forName(DBDriver).newInstance();
}
catch(java.lang.ClassNotFoundException e){
System.err.println("DBConn (): "+e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
rs = null;
try{
conn = DriverManager.getConnection(ConnStr,user,password);
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex){
System.err.println("aq.executeQuery: "+ ex.getMessage());
}
return rs;
}
}

运行时出现的错误是:

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 8 in the jsp file: /admin/jsp/b_add.jsp

Generated servlet error:
[javac] Compiling 1 source file

C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\RealEstateAgent\org\apache\jsp\admin\jsp\b_005fadd_jsp.java:44: package admin does not exist
admin.DBConn DBConn1 = null;
^



An error occurred at line: 8 in the jsp file: /admin/jsp/b_add.jsp

Generated servlet error:
C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\RealEstateAgent\org\apache\jsp\admin\jsp\b_005fadd_jsp.java:46: package admin does not exist
DBConn1 = (admin.DBConn) pageContext.getAttribute("DBConn1", PageContext.PAGE_SCOPE);
^



An error occurred at line: 8 in the jsp file: /admin/jsp/b_add.jsp

Generated servlet error:
C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\RealEstateAgent\org\apache\jsp\admin\jsp\b_005fadd_jsp.java:48: package admin does not exist
DBConn1 = new admin.DBConn();
^
3 errors

而且这个bean在放到单独的一个工程里时,是可以用的.可是放到我现有的工程中就用不了了.应该不是程序的问题,请问还有其他什么配置需要做吗?

谢谢各位了~~~ ^^
...全文
257 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangmowei 2006-05-12
  • 打赏
  • 举报
回复
终于解决了~~~~~~~~~~

我发现的原因是,我原来在站点的根目录下有一个WEB-INF文件夹,但是里面的classes下面并没有我所需要的类.现在我在里面的子文件夹里面和.jsp文件并列的也有一个WEB-INF文件,我把类放在了这个下面.可是系统好像是只在站点的根目录下那个WEB-INF文件夹下找类的,那里面没有,所以说找不到包.现在我把类文件放到这里,就OK了~~~

谢谢各位的帮助~~~ ^_^
cj_0910 2006-05-12
  • 打赏
  • 举报
回复
你换个目录尝试一下,我用的是Tomcat 4.1

..\webapps\ROOT\b_add.jsp

..\webapps\ROOT\WEB-INF\classes\admin\DBConn.class
yangmowei 2006-05-12
  • 打赏
  • 举报
回复
全都检查了,没有错误啊.我又写了几个页面,还是同样的问题!而且把这些文件单独放到一个新的工程中时都好用,就是放在我那个工程里不可以啊~~~~~~而且是放在不同的文件夹下的,有不同的WEB-INF文件夹.抓狂~~~这会是什么样的原因呢?会是我那个工程的原因吗?
cj_0910 2006-05-12
  • 打赏
  • 举报
回复
用<jsp:useBean id="DBConn1" scope="page" class="admin.DBConn" >
</jsp:useBean>

JDBC驱动已经安装好了吧


阿钚 2006-05-12
  • 打赏
  • 举报
回复
DBConn1 已经是一个实例了,可以直接用
killme2008 2006-05-12
  • 打赏
  • 举报
回复
着实奇怪

检查下目录结构,lib,web,xml都没出错
yangmowei 2006-05-12
  • 打赏
  • 举报
回复
用了二楼的方法,可还是同样的错误啊,还是找不到那个包.可为什么在其他工程里就可以找到呢...?
yangmowei 2006-05-12
  • 打赏
  • 举报
回复
补充一下,把这几个相关的文件放到另外一个新的工程里面,就可以正常运行了!而且和文件夹深度也没有关系,我把这些文件往深处放了几层,都没有问题.各位有遇到这种情况吗?请帮我解决一下,非常感谢!!!
killme2008 2006-05-12
  • 打赏
  • 举报
回复
jsp加上这句:
<%@ page import = "adimin.DBConn" %>
去掉:
<jsp:useBean id="DBConn1" scope="page" class="admin.DBConn" >
</jsp:useBean>

然后在脚本中可以直接这样用:
DBConn conn=new DBConn();

81,095

社区成员

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

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