The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory.
这个异常是由于包冲突引起的,如果你使用的是tomcat,而你又把servlet-api.jar,jsp-api.jar放到了你工程的lib下, 这个时候你在启动tomcat的时候首先会有提示说你的servlet-api.jar没有被加载,然后,当你访问工程页面的时候就会出现上面的异常提示。 只要把工程里重复的包删掉就可以了。
如果我们使用maven+jetty部署项目,最终项目要部署到tomcat里,这个时候,我们需要将maven的依赖包里的servlet-api.jar等,在tomcat的lib里已经有的包的scope属性设置为provided,这样在打包的时候就不会打到war包里。把war包放到tomcat里的时候就不会出现包冲突了。
貌似这样:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<type>jar</type>
<scope>provided</scope>
</dependency>