我的jsp程序用junit测试数据显示正确,但是用在jsp页面显示空指针异常

程序如下:

 <%
    List<Emp> list=new EmpDao().findAll();
        for (Emp emp : list) {
            out.print(emp.getEmpno()+" "+emp.getEname()+" "+emp.getHireDate()+" "+emp.getSal()+"<br/>");
        }
     %>

显示异常:

 org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 35

32:     response.addCookie(c1);
33:     response.addCookie(c2);
34:     response.sendRedirect("cookie.jsp"); */
35:     List<Emp> list=new EmpDao().findAll();
36:         for (Emp emp : list) {
37:             out.print(emp.getEmpno()+" "+emp.getEname()+" "+emp.getHireDate()+" "+emp.getSal()+"<br/>");
38:         }


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:588)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:481)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)


root cause
java.lang.NullPointerException
    dao.BaseDao.excuteFind(BaseDao.java:23)
    dao.EmpDao.findAll(EmpDao.java:14)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:153)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

检查无法获得连接,可是我用junit取得的连接是正常的,这怎么搞?

basedao程序

 package cn.anywhere.dao;
import java.io.*;
import java.sql.*;
import java.util.Properties;
import java.sql.DriverManager;

import cn.anywhere.util.DatabaseConnection;

public class BaseDAO {
    protected PreparedStatement pstmt = null;
    protected ResultSet rs = null;
    protected static Properties properties=null;
    protected static Connection connection = null;

    public ResultSet findAll(String sql){
        try{
            connection=DatabaseConnection.getConnection();
            pstmt=connection.prepareStatement(sql);
            rs=pstmt.executeQuery();
            return rs;
        } catch (SQLException e){
            e.printStackTrace();
        }
        return rs; 
    }
}

显示的异常是connection异常.我怀疑是我的oracle jdbc文件没放对位置.因为java程序我在biuld path里加载oracle7.jar文件做连接.但是JSP程序的oracle jdbc文件应该放哪个目录?

我的项目目录结构是这样的
图片说明

2个回答

BaseDao的第23行有问题,或者是看下EmpDao的第14行

wild84
wild84 我的程序如上,帮我看看,不足的我再补充
大约 3 年之前 回复
wangyang1354
低调的洋仔 回复wild84: 你这肯定是程序有问题啊
大约 3 年之前 回复
wild84
wild84 程序是没问题的,因为同样的程序在junit下测试是正常的,现在是jsp跟URL
大约 3 年之前 回复

你直接在里面输出下new EmpDao()的结果

wild84
wild84 我的程序如上,帮我看看,不足的我再补充
大约 3 年之前 回复
wangyang1354
低调的洋仔 回复wild84: 把baseDao贴出来看下
大约 3 年之前 回复
wild84
wild84 改了,还是一样
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐