1. 程式人生 > >啟動tomcat報錯org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core

啟動tomcat報錯org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core

錯誤提示是:

       org.apache.jasper.JasperException: This absolute uri http://java.sun.com/jsp/jstl/core) cannot be resolved in either web.xml or the jar files deployed with this application

web專案出現如上問題,據查是版本問題:     JSTL 1.0 的宣告是:    < %@ taglib prefix="c" uri="http://java.sun.com/jstl/core " %>     JSTL1.1以後 的宣告是:    < %@ taglib prefix="c" uri=http://java.sun.com/jsp/jstl/core %>       專案中,已經是 jstl 1.2 版本了,頁面中也全部是用<%@ taglib prefix="c" uri=http://java.sun.com/jsp/jstl/core %>這種方式。javaee5之後就只有 jstl.jar 這一個jar包了,沒有standard.jar包,tld檔案也打包到jstl.jar裡面去了,網上有一種說法是在web.xml檔案裡配置jsp-config的解決方式是沒有用的。       最終查到問題的解決方法是: jstl.jar 包在ide專案中有,但在tomcat釋出的應用WEB-INF/lib下沒有,這是工具釋出專案的問題,複製一個jstl.jar包到WEB-INF/lib下問題就解決了。

具體的操作方法是:找到ide中的jstl.jar包(一般在MyEclipse9.0安裝目錄\Common\plugins \com.genuitec.eclipse.j2eedt.core_9.0.0.me201103181703\data\libraryset \EE_5下),然後複製到WEB-INF/lib下,至此問題解決。

#################################

ide中jstl.jar包可以通過  右鍵專案/built path/configure built path /libraries 下的 java EE ** 中找到,如下圖: