日期:2014-05-17  浏览次数:20803 次

JSTL错误:File "/WEB-INF/c.tld" not found
小弟在本机上恢复一个JSP网站,环境是XP sp2+tomcat6.0+JDK1.5+mysql4.1

但是环境已经搭好,经测试tomcat,mysql都已OK,但是部署这个网站时候出现下面的错误:
HTTP Status 500 - 

--------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException: File "/WEB-INF/c.tld" not found

我在网上找了一个下午,但是收获甚微,只是确定好像是JSTL的问题,可能因为版本冲突,但是不确定

请问那位大哥能对小弟指教一下,不甚感激!



------解决方案--------------------
探讨
我分别用了两种虚拟目录的方法,一种是在D:\Tools\Tomcat 6.0\webapps\ROOT下面建一个目录,现在报的是

HTTP Status 503 - This application is not currently available Tomcat

这个错.

第二种就是非webapp建的虚拟目录,在E:\myapp下面,也在servel.xml加了

<Context path="/myapp" docBase="E:\myapp" debug="0" reloadable="true"> </Context>

这时还是报org.apache.jasper.JasperException: File "/WEB-INF…

------解决方案--------------------
你Tomcat重启过吗?重启的时候有报错吗?
另外你的网站在别的地方成功运行过吗?

你最好看看Tomcat的错误日志,可能找得到问题
------解决方案--------------------
从你的 web.xml 看你是用 Servlet 2.4。在Servlet 2.4下你不应该直接引用文件系统的路径来作为标记库的uri,而是需要使用定义在tld文件里面的uri

请用文本编辑器打开你的 c.tld , 搜索 <uri>, 你应该可以找到这样一行:
<uri>http://java.sun.com/jsp/jstl/core</uri>

把你出错的那行 <%@ taglib uri="/WEB-INF/c.tld" prefix="c"%> 换成

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

试试,看看出错信息有没有变化。 


------解决方案--------------------
<%@ taglib uri="WEB-INF/c.tld" prefix="c"%> 这样试试可能是你的前面加了一个/

------解决方案--------------------
对于c标签,你最好用<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

------解决方案--------------------
<taglib>
<taglib-uri>/tags/c</taglib-uri>
<taglib-location>/WEB-INF/tlds/c.tld</taglib-location>
</taglib>
<%@ taglib uri="/tags/c" prefix="c"%>


------解决方案--------------------
首先lib里面必须要有2个包,standard.rar,jstl.rar。再看有没有标签库如c.tld等等。。
在页面可以这样使用。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
我想应该没有问题。

我的异常网推荐解决方案:The server encountered an internal error () that prevented it from fulfilling this request.,http://www.aiyiweb.com/java-web/317.html