java.lang.NoSuchMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext
相信各位很多用Tomcat在发布java web应用时,如果用到JSTL标签,并用到<c:forEach>的可能都碰到我这个问题,于是我在网上搜各位大虾们的解决之道,最多给的办法就是这一段:
经过tomcat版本变化后,又报出了此异常
java.lang.NoSuchMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext;
这是jstl引起的问题。
tomcat 6 实现了 servlet 2.5 和JSP2.1的规范相应的 tomcat 5 实现的是 2.4和2.0,想到tomcat5不支持JSTL1.2,于是替换JSTL1.1的包试试看后,问题解决。
解决方法 :移出工程lib目录中的 JSTL1.2.jar,添加standard-1.1.jar和JSTL1.1.jar
总结 :
jstl1.1版本由2个必要包构成:standard-1.1.jar和 JSTL1.1.jar;而jstl1.2版本只有一个必要包JSTL1.2.jar。(一开始在替换的过程中想当然的用JSTL1.1.jar换 JSTL1.2.jar,然后遗漏了standard-1.1.jar,耽搁了不少时间。)
经测试,tomcat6.0支持JSTL1.2版本,也支持JSTL1.1版 本;tomcat5.5只支持JSTL1.1(JSTL1.1一下版本未测试)
不建议将2个版本的3个包同时放在工程中,可能会发生版本冲突。(另外,实际 操作的时候发现JSTL1.2.jar和JSTL1.1.jar这2个包放一起可以在tomcat5.5和tomcat6.0上跑,鉴于 JSTL1.1.jar里面没有c.tld等文件,猜测JSTL1.1.jar里面只是放置了1.1的专用的类和信息)
但是我仔细检查了我的Tomcat版本,我的是Tomcat6.0.29,按理,我照大虾们给的办法就是在我的web应用的WEB-INF/lib/jstl-1.2.jar加上这个包就可以了,但事与愿违,不管我是加在我的web应用下,还是加在Tomcat/lib下,都还是报上面的错,我突然就想到看Tomcat的例子了,就
D:\apache-tomcat-6.0.29\webapps\examples这个包下我找的例子,看到有关ForEach的例子了,我点了运行后,迭代成功了,我就纳闷了,看来与tomcat/lib 下面的包是没有关系的,然后我就找到这个例子对应的D:\apache-tomcat-6.0.29\webapps\examples\WEB-INF\lib包下,看有两包,standard.jar,jstl.jar,于是我把这两包导到我自己的web应用的lib的目录下,再测试,耶,就成功了。。。。。我那个高兴之后的失落突然就出来了。
这是为什么喃?
我把这两个standard.jar,jstl.jar包的内容,和jstl-1.2.jar的内容作了对比,实在找不到问题,今天太晚了。明天再研究一下原因。希望我的这个解决问题,对广大朋友有所帮助啊。
分享到:
相关推荐
Files contained in javax.servlet.jar: META-INF/MANIFEST.MF javax/servlet/http/LocalStrings.properties javax.servlet.http.HttpSessionBindingListener.class javax.servlet....
javax.servlet的jar包,解决找不到javax.servlet.*等问题的!欢迎下载!!
NULL 博文链接:https://albert0707.iteye.com/blog/562969
javax.servlet-api-***.jar中文文档.zip,java,javax.servlet-api-***.jar,javax.servlet,javax.servlet-api,***,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,javax,servlet,api,中文API文档,手册,开发...
javax.servlet-api-***.jar中文文档.zip,java,javax.servlet-api-***.jar,javax.servlet,javax.servlet-api,***,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,javax,servlet,api,中文API文档,手册,开发...
javax.servlet JAR包,解决找不到 import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; jar包问题
javax.servlet---jsp-api jar包,很常用,欢迎下载!内含javax.servlet&jsp;-api jar包
赠送jar包:javax.servlet-api-4.0.0.jar; 赠送原API文档:javax.servlet-api-4.0.0-javadoc.jar; 赠送源代码:javax.servlet-api-4.0.0-sources.jar; 赠送Maven依赖信息文件:javax.servlet-api-4.0.0.pom; ...
赠送jar包:javax.servlet-3.0.0.v201112011016.jar; 赠送原API文档:javax.servlet-3.0.0.v201112011016-javadoc.jar; 赠送源代码:javax.servlet-3.0.0.v201112011016-sources.jar; 赠送Maven依赖信息文件:...
javax.servlet.jsp_2.0.0.v201101211617.jar,javax.,servlet,jsp
赠送jar包:javax.servlet-3.0.0.v201112011016.jar; 赠送原API文档:javax.servlet-3.0.0.v201112011016-javadoc.jar; 赠送源代码:javax.servlet-3.0.0.v201112011016-sources.jar; 赠送Maven依赖信息文件:...
赠送jar包:javax.servlet-api-4.0.1.jar; 赠送原API文档:javax.servlet-api-4.0.1-javadoc.jar; 赠送源代码:javax.servlet-api-4.0.1-sources.jar; 赠送Maven依赖信息文件:javax.servlet-api-4.0.1.pom; ...
javax.servlet-api-***.jar中文文档.zip,java,javax.servlet-api-***.jar,javax.servlet,javax.servlet-api,***,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,javax,servlet,api,中文API文档,手册,开发...
javax.servlet.jsp-api-2.3.2的jar包
javax.servlet.jar与javax.servlet.jsp.jar
javax.servlet.jsp-api-2.3.1.jar
在ejb中没有的两个jar文件javax.servlet.jar,javax.servlet.jsp.jar
javax.servlet.jsp.jstl-api-1.2.1.jar
TagSupport SimpleTagSupport tagext javax servlet jsp Tag 标签
下地址https://repo1.maven.org/maven2/javax/servlet/javax.servlet-api/3.1.0/ 各个版本都有 javax.servlet-api-3.1.0-sources.jar