当前位置: 代码迷 >> Java Web开发 >> JSP中引用自己写的连接池类,编译出现java.lang.NoClassDefFoundError: cn.mysite.DBPool 错误
  详细解决方案

JSP中引用自己写的连接池类,编译出现java.lang.NoClassDefFoundError: cn.mysite.DBPool 错误

热度:6707   发布时间:2016-04-10 22:51:05.0
JSP中引用自己写的连接池类,编译出现java.lang.NoClassDefFoundError: cn.mysite.DBPool 异常
本帖最后由 iphilip 于 2014-02-17 18:05:11 编辑
自己找了个连接池类,测试的是没有问题的(需要用到的包已经添加了),但是放到jsp中后出现下面的异常

org.apache.jasper.JasperExceptionjavax.servlet.ServletException: java.lang.NoClassDefFoundError: cn/mysite/DBPool
org.apache.jasper.servlet.JspServletWrapper.handleJspException(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大小写错了...
  相关解决方案