-
大小: 356KB文件類型: .rar金幣: 2下載: 0 次發布日期: 2021-05-04
- 語言: Java
- 標簽: jstl1.1??standard1.1??jar??jstl1.1.jar??
資源簡介
今天做項目,用到了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的專用的類和信息)

代碼片段和文件信息
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????393259??2004-10-25?13:33??standard.jar
?????文件??????20682??2004-10-25?13:33??jstl.jar
-----------?---------??----------?-----??----
???????????????413941????????????????????2
-----------?---------??----------?-----??----
?????文件?????393259??2004-10-25?13:33??standard.jar
?????文件??????20682??2004-10-25?13:33??jstl.jar
-----------?---------??----------?-----??----
???????????????413941????????????????????2
評論
共有 條評論