如题,出现如下错误:
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: javax.servlet.jsp.tagext.TagAttributeInfo.<init>(Ljava/lang/String;ZLjava/lang/String;ZZ)V
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:244)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NoSuchMethodError: javax.servlet.jsp.tagext.TagAttributeInfo.<init>(Ljava/lang/String;ZLjava/lang/String;ZZ)V
org.apache.jasper.compiler.TagLibraryInfoImpl.createAttribute(TagLibraryInfoImpl.java:568)
org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:401)
org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:248)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:162)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539)
org.apache.jasper.compiler.Parser.parse(Parser.java:126)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:220)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.不知道如何解决,tomcat重装过还是不行
在以前是可以运行的,不知道今天为什么就报这个错了
各位帮帮忙!

解决方案 »

  1.   

    把servlet-api.jar和jsp-api.jar加入到struts-blank/WEB-INF/lib中。
      

  2.   

    jsp-api.jar和servlet-api.jar在tomcat安装目录下的common/lib下已经有了
    应该不需要再添加到WEB-INF/lib下去
      

  3.   

    如果是版本不兼容,那为什么以前用的时候没有问题呢
    Tomcat是5.0.28,struts下载了最新的版本问题依旧!
      

  4.   

    应该是taglib运行出现故障,可能是tomcat与该版本的taglib不兼容,要注意jsp1.2和jsp2.0的区别。老版本的jsp有一部分是放在servlet2.3中的,而jsp2.0的时候,把jsp这部分已经抽出来了,所以一定要注意。你去看看你的servlet.jar和jsp.jar中是否有javax.servlet.jsp.tagext.TagAttributeInfo这个类就是了。
    如果你是tomcat5.x以上,同时tomcat/common/lib下有jsp-api.jar这个包,应该就不会有问题。btw:在4.x版本中,这个类存在于servlet.jar中,而到了5.x版本,它存在于jsp-api.jar中。
      

  5.   

    恩,谢谢你的回答!
    昨天google了一下,应该是taglib运行时出的问题,jsp1.2和jsp2.0的Class TagAttributeInfo的constructor的参数不同,但是不知道怎么解决。
    我的common/lib下有jsp-api.jar和server-api.jar包的,javax.servlet.jsp.tagext.TagAttributeInfo这个类也是有的
      

  6.   

    那就也有可能是dtd的问题了,看你的那个taglib所对应的tld文件中的dtd文件的引用,不要引用老版本的,而引用servlet2.4版本下的新的dtd文件再试试。
    <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
        version="2.0">
    不过一般这种情况出现的很少见啊,也不知道就怎么都让你给碰到了:)。
      

  7.   

    我以前也遇到过这个问题,我之前的问题有两个原因造成1 我把struts.jar放到了多个地方,例如JDK路径下的ext目录中,又例如 tomcat的common/lib中,同时放几个地方,加载时就会出错,建议只放在工程的WEB-INF/lib下。2 我用了老版本的Resin作为服务器,后来升级到3.0.14就没问题了。
      

  8.   

    还是一样啊,我把用到的几个tld文件都改了,问题还是一样啊,真郁闷啊!
    struts.jar只放在WEB-INF/lib下也还是老样子
    还有什么原因呢??
      

  9.   

    你把你的那个JSP页面的代码贴出来吧.
      

  10.   

    楼上的兄弟,我是运行struts自带的struts-blank阿
    期待!
      

  11.   

    这样吧,你新装一个TOMCAT在另外的目录下,然后放到新TOMCAT中试试行不行,有时Tomcat错了也会导致这个问题.
      

  12.   

    我把原来的tomcat删除了,重新解压了一下,但是还是一样
      

  13.   

    1、关闭tomcat
    2、将struts-blank.war改名,如Demo.war将其放置到webapps目录下
    3、重启tomcat完成后,再关闭tomcat
    4、再删除掉原来的Demo.war
    5、重启tomcat
    6、在IE输入htpp:\\ip(IP地址):port(端口)\Demo\index.jsp应该可以的