tomcat启动后,页面浏览时报错 Unable to compile class for JSP的解决方案
问题描述:
tomcat启动后,console正常,console中语句为:
信息: Server startup in 7291 ms
但浏览器访问首页面http://localhost:8080/psportal时报错,console中语句为:
2014-02-21 14:13:12,492-[psportal] ERROR http-8080-1 cn.com.infohold.common.sys.SnsPFilter -org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 22 in the generated java file
The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory
Stacktrace:
问题分析:
可能是你项目中的诸如:catalina.jar、jsp-api.jar、servlet-api.jar、javax.servlet.jar、javax.servlet.jsp.jar等包和应用服务器(JBoss/Tomcat等)中的包重复且比其版本低,应用服务器在启动时会优先加载项目中的包,这样就导致和应用服务器中的其它包不匹配。可把重复的包从项目中删除,或将应用服务器下的这些包拷贝到项目中,重启服务即可。
解决方案 :
在tomcat工程文件夹路径中,删除掉两个文件即可,尝试此种方法解决了问题。
路径:C:\Program Files\apache-tomcat-6.0.29\webapps\gisportal\WEB-INF\lib
文件名:javax.servlet.jar、javax.servlet.jsp.jar
结果:
删除WEB工程Lib目录中的jsp-api.jar、servlet-api.jar,重新启动Jboss服务问题解决。