The method getJspApplicationContext(ServletContext) is undefined for the typ

 

The method getJspApplicationContext(ServletContext) is undefined for the typ

 
 
工程启动正常,但是只要一访问页面就会报:

The method getJspApplicationContext(ServletContext) is undefined for the typ  ......

打断点,每次走到 CharacterEncodingFilter.java  doFilter()就抛异常了。
 
 
网上说是工程里面多了几个包,认真找下去,还真的是多了 javax.servlet.jar 和 javax.servlet.jsp.jar 两个包, 或者是:jsp-api.jar servlet-api.jar跟tomcat6的lib中同样的包,
 
但版本比tomcat6的版本要低,在运行的时候,因为会优先加载项目中的包,所以 产生了错误,把项目中和tomcat相同的包删除(必须删除,如果替换还会产生其他的错误),问题就可以解决了。

实 际通过这个问题,则可以明白,在布署jsp网站(在tomcat上)的时候,项目中的jar包不能有和tomcat的lib中相同的包(自己包的版本比 tomcat低或相同),否则会因为先加载自己项目中的包而导致程序错误。所以在有相包的情况的时候,将自己的包给删掉,就不会出现问题了。
分类: java

猜你喜欢

转载自chongdiyang.iteye.com/blog/1762892