Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tomcat 将JSTL 1.1升级到1.2失败,错误为java.lang.AbstractMethodError:javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext_Tomcat_Jstl_Tomcat7 - Fatal编程技术网

Tomcat 将JSTL 1.1升级到1.2失败,错误为java.lang.AbstractMethodError:javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext

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

我在使用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.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或更早版本一样运行

另见: