JSP中引用自己写的连接池类,编译出现
java.lang.NoClassDefFoundError: cn.mysite.DBPool 异常
本帖最后由 iphilip 于 2014-02-17 18:05:11 编辑
自己找了个连接池类,测试的是没有问题的(需要用到的包已经添加了),但是放到jsp中后出现下面的异常
org.apache.jasper.JasperException:
javax.servlet.ServletException: java.lang.
NoClassDefFoundError: cn/mysite/DBPool
org.apache.jasper.servlet.JspServletWrapper.handle
JspException(JspServletWrapper.java:549)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
下面是jsp文件中的内容,不知道是不要设置web.xml
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@page import="cn.mysite.DBPool"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.util.Date"%>
<%
DBPool pool = DBPool.getInstance();
Connection con = pool.getConnection();
java.sql.ResultSet rs = con.createStatement().executeQuery("SELECT * FROM users");
while (rs.next()) {
System.out.println(rs.getObject(1));
System.out.println(rs.getObject(2));
System.out.println(rs.getObject(3));
}
%>
------解决方案-------------------- DBPool pool = DBPool.getInstance();这个是取什么?DBPool是静态类的吧?工具类取conn一般不是DBPool.getConnection()的吗?在jsp内操作数据库其实是非常不可取的》
------解决方案--------------------明显是找不到class,你的类class放的位置检查一下。
------解决方案--------------------检查一下类 cn/mysite/DBPool 的路径,或者有没有打包进来
------解决方案--------------------确认项目cn/mysite/DBPool这个类是否存在。。。
------解决方案--------------------可能你DBPool class大小写错了...