こことまったく同じアプリケーションを書いています。データベースに接続します。メイン メソッドを介して Dao を Java アプリケーションとして実行すると、すべて正常に動作します。しかし、サーバーでアプリケーションを実行すると、次のようになります。
org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
java.lang.NullPointerException
com.tok.dao.ClipDao.getAllClips(ClipDao.java:27)
com.tok.controller.ClipHandler.doGet(ClipHandler.java:34)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:696)
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:667)
org.apache.jsp.index_jsp._jspService(index_jsp.java:62)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.tok.dao.ClipDao.getAllClips(ClipDao.java:27)
私のDaoで以下の行を指しているこのエラー:
ステートメント statement = connection.createStatement();
ClipDao コンストラクターは次のようになります。
private Connection connection = null;
public ClipDao() {
connection = DbUtil.getConnection();
}
アップデート:
.war
アプリのファイルをTomcatのwebappディレクトリにエクスポートしていたので、ディレクトリの下にlibtomcat/libs/
がありませんでした。postgresql.jar
jar を追加した後、問題は解決しました。