javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext

本文解决了一个在Tomcat不同版本间使用JSTL时出现的异常问题。通过调整JSTL版本,成功地让应用在Tomcat5.5和Tomcat6.0上运行。详细介绍了JSTL1.1与JSTL1.2的包差异及Tomcat版本支持情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

经过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的专用的类和信息)

 

全文查看javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值