- 软件大小:362KB
- 软件语言:中文
- 软件类型:国产软件
- 软件类别:免费软件 / 编程辅助
- 更新时间:2015-03-06 11:53
- 运行环境:WinAll, WinXP
- 软件等级:
- 软件厂商:
- 官方网站:http://www.downcc.com
421KB/中文/1.6
41KB/中文/5.5
25KB/中文/6.6
208KB/中文/5.0
263KB/中文/5.6
今天做项目,用到了el表达式和jstl,在tomcat6.0上跑得好好的,没想到copy到tomcat5.5后,服务器起不来了,是tomcat版本的问题。查阅了不少资料,现在总结如下:
错误信息: java.lang.NoClassDefFoundError: javax/el/ExpressionFactory
分析:少包,上网查阅后发现解决方法
解决方法:将javaee.jar包再copy一份放在tomcat目录的common\lib下
如上完成后即解决了该异常,大以为大功告成,没想到又出现了新异常
错误信息: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的专用的类和信息)
请描述您所遇到的错误,我们将尽快予以修正,谢谢!
*必填项,请输入内容