wild84 2017-04-15 06:30 采纳率: 80%
浏览 936
已采纳

我的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条回答 默认 最新

  • 低调的洋仔 博客专家认证 2017-04-15 06:45
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog