日期:2014-05-17  浏览次数:20801 次

将项目从Tomcat5.5移到Tomcat7下抛出getJspApplicationContext(ServletContext) is undefined..
我最近的一个项目首页index.jsp也报了这样的异常The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory 。我的项目原先一直在tomcat5.5.29上运行得没有任何问题,因为tomcat7.0有了64bit的版本,就想把项目移到tomcat7下,谁知就报错了。查了很多,网上大家相同的见解就是说找tomcat/lib目录下tomcat自己加载的包,再对比项目中同种类型的包,项目中包的版本若比tomcat/lib中的低,就会导致异常。可我的项目下压根就没有与tomcat7/lib下同样或同类型的包呀,所以网上大家说的解决方法派不上用呀,请高手大侠们帮帮我呀,为什么在tomcat5.5下运行好好的项目移到tomcat7下就报了这样的异常,我该如何解决?求高手赐教,定感激不尽。补充下:我倒是发现tomcat7.0的编译机制似乎是不同于tomcat5.5的,因为我对比了tomcat7与tomcat5.5下work目录下由JSP页面转换而来的两个文件index_jsp.java,仔细对比了下,是有些语句、方法存有不同,但是tomcat7下的index_jsp.java就无法编译成index_jsp.class类文件,而tomcat5.5下的index_jsp.java就很顺利地编译成index_jsp.class了。求解答,不胜感激呀

------解决方案--------------------
我已基本解决了项目在Tomcat7下抛出getJspApplicationContext(ServletContext) is undefined异常的原因了,倒不是因为tomcat/lib目录下的包与项目WEB-INF\lib目录下有类似的包。而是我的项目的WEB-INF\classes目录下有类文件与tomcat/lib下的包有冲突,我的WEB-INF\classes目录下类文件的版本较低而导致的,经将项目的WEB-INF\classes下冲突的类文件删除掉后即排除了getJspApplicationContext(ServletContext) is undefined的异常。不过项目迁移中还有点其他问题,自己再努力解决吧...
挺开心的,贊下自己,自己花了很长时间终于独立解决了!!!