找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 9|回复: 0

jstl1.1.jar和standard1.1.jar

[复制链接]

32万

主题

0

回帖

96万

积分

超级版主

积分
964681
发表于 2025-3-14 12:06:32 | 显示全部楼层 |阅读模式
软件标签:  jstl1.1.jar   standard1.1.jar   .jar
今天做项目,用到了el表达式和jstl,在tomcat6.0上跑得好好的,没想到copy到tomcat5.5后,服务器起不来了,是tomcat版本的问题。查阅了不少资料,现在总结如下:

错误信息:java.lang.noclassdeffounderror: javax/el/expressionfactory

分析:少包,上网查阅后发现解决方法

解决方法:将javaee.jar包再copy一份放在tomcat目录的commonlib下

如上完成后即解决了该异常,大以为大功告成,没想到又出现了新异常

错误信息:java.lang.nosuchmethoderror: javax.servlet.jsp.pagecontext.getelcontext()ljavax/el/elcontext

分析:这个问题网上找了半天没看到解决方法,只好自己想办法。想起先前看到的一个知识点: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.1版本只有一个必要包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的专用的类和信息)


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|ziyuan80.com

GMT+8, 2025-8-10 04:24 , Processed in 0.076522 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表