這是我今天遇到的一個最棘手的問題,耗費了一下午的時間終於解決了。
不知道爲什麼,今天做這個web項目時突然遇到下面這樣一個錯誤:
type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: java.lang.NullPointerException org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:536) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) cn.jilin.eletric.filter.EncodingFilter.doFilter(EncodingFilter.java:28) cn.jilin.eletric.filter.LoginFilter.doFilter(LoginFilter.java:39) root cause java.lang.NullPointerException org.apache.jsp.admin.login_jsp._jspInit(login_jsp.java:22) org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52) org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:164) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:338) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) cn.jilin.eletric.filter.EncodingFilter.doFilter(EncodingFilter.java:28) cn.jilin.eletric.filter.LoginFilter.doFilter(LoginFilter.java:39) note The full stack trace of the root cause is available in the Apache Tomcat/6.0.32 logs.
我百度了很長時間,也沒發現解決這類問題的具體方法。其實這個問題不難解決:就是 jar文件 的問題,但是要具體問題具體分析。
具體是什麼問題要看root cause部分,比如我這裏顯示的錯誤如下:
root cause java.lang.NullPointerException org.apache.jsp.admin.login_jsp._jspInit(login_jsp.java:22) org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52) org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:164) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:338) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) cn.jilin.eletric.filter.EncodingFilter.doFilter(EncodingFilter.java:28) cn.jilin.eletric.filter.LoginFilter.doFilter(LoginFilter.java:39)
說明我的項目裏缺少jsp-api.jar文件我只需要在項目中加上這個文件即可。而有的項目顯示數據庫連接問題,一般是缺少數據庫連接驅動,同樣,加上相應的jar文件即可。
注意:只是將jar文件放在web-infor下的lib包下是不夠的。jar文件的添加方式是:在項目上右鍵->Build Path->Configer Build Path->Libraries 添加相應的jar文件即可。