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条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?