我JSTL1.2文件解压后把两个jar文件丢到D:\Web\WEB-INF\lib中,然后写了个JSP文件:
<%@ page language="java" contentType="text/html;charset=gb2312" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>JSTL用法</title>
</head>
<body>
<c:out value="高兴"/>
</body>
</html>
用IE打开http://localhost:9999/myweb/Demo.jsp: 出现错误提示:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:156)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:146)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.24 logs.然后我把两个jar文件丢到C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib中,然后把刚才那个jsp文件丢到
C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ROOT中,这个时候再IE打开http://localhost:9999/Demo.jsp  这个时候程序正确执行,把我都搞晕了,找了很长时间都不知道原因,到此求教一下

解决方案 »

  1.   

    应该是把jstl.jar和standard.jar放到WEB-INF\lib下,这肯定是正确的并且可以解决问题的办法。
    至于你的为什么会出错,很有可能是你改动之后又用IE访问,IE访问的是以前的缓存页面,而以前缓存的是显示出错的页面,其实实际上可能是正确。可以在页面地址后面加个"?fff=dfdfd",强制IE访问新的页面。
    还有可能就是重新改变了JAR文件位置之后,最好重启下服务器,在某个程序的lib目录下改动JAR文件和在服务器lib目录下改动JAR文件,有可能是前者需要重启才能生效,而后者无需重启就可以认出来。
      

  2.   

    我看了代码,这个是正确的..但是,会出现这样的问题,你是不是有重新部署? 然后到webapps里面相应的目录里面查看了代码没? 很有可能是没有部署好!
      

  3.   

    把tdt  放在wen-info 下
      

  4.   

    dtd没有用处 无所谓 他用的是引用http://java.sun.com/jsp/jstl/core我觉得应该是:1.缓存问题,删除WORK试试
                 2:JAR包没有加载,重启TOMCAT
               3.http://java.sun.com/jsp/jstl/core_rt试试
      

  5.   

    jstl.jar和standard.jar文件中放的都是要用到的java文件。你去看看这两个包中的文件和tld文件就知道啦
      

  6.   

    小弟觉得:你在页面随便写几个字符试试   不行重启一下再试试  再不行查一下你的jar包  应该就可以了