Tomcat 将JSTL 1.1升级到1.2失败,错误为java.lang.AbstractMethodError:javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext
我在使用JSTL时遇到错误。请帮帮我 我在Tomcat7中使用了jstl-impl-1.2.jar和jstl-api-1.2.jar,去掉了standard.jsp和jstl.jsp,但仍然遇到了这个错误 错误代码Tomcat 将JSTL 1.1升级到1.2失败,错误为java.lang.AbstractMethodError:javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext,tomcat,jstl,tomcat7,Tomcat,Jstl,Tomcat7,我在使用JSTL时遇到错误。请帮帮我 我在Tomcat7中使用了jstl-impl-1.2.jar和jstl-api-1.2.jar,去掉了standard.jsp和jstl.jsp,但仍然遇到了这个错误 错误代码 java.lang.AbstractMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext; javax.servlet.jsp.jstl.core.LoopTagSupport.unE
java.lang.AbstractMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext;
javax.servlet.jsp.jstl.core.LoopTagSupport.unExposeVariables(LoopTagSupport.java:624)
Web.xml
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
听起来像是版本控制问题,可能是某种类型的jar文件冲突。请参阅可能会有所帮助。您的/WEB-INF/lib
,或者更糟糕的是,您的JRE/lib
或JRE/lib/ext
,被servletcontainer特定的库污染,例如不同版本和较旧版本的servletcontainer make/version的jsp api.jar
。您需要在WEB应用程序的/WEB-INF/lib
中删除它们。这些库应该已经由servletcontainer本身提供,在您的例子中是Tomcat
在您的特定示例中,Tomcat的内部类请求只存在于JSP 2.1之后的方法,但在JSP API中找不到该方法,因为您的webapp中有一个较旧的版本(显然是JSP 2.0或更旧的版本),它在类加载方面优先于Tomcat自己的版本
换句话说,在您将JSTL升级到兼容Tomcat6的版本之前,您的Tomcat7一直像Tomcat5.5或更早版本一样运行
另见: