org.apache.jasper.JasperException: java.lang.ClassCastException:

时间:2022-02-19 15:53:09
我在运行程序进入主界面时出现这样的错误,在网上搜了一下说是有两个jasper.jar文件,我在电脑里搜了一下,一个在Tomcat的文件夹里,一个在myeclipse的文件夹里,我把这两个分别换了一下名字,好像都没用,谁能指点一下,再次先谢了。


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: java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:356)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
com.ynstudio.webapp.filter.LocaleFilter.doFilterInternal(LocaleFilter.java:74)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
com.hrj.DTMonitor.filter.LoginFilter.doFilter(LoginFilter.java:32)
root cause 
java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor
org.apache.jsp.frame.login.userLogin_jsp._jspInit(userLogin_jsp.java:38)
org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
com.ynstudio.webapp.filter.LocaleFilter.doFilterInternal(LocaleFilter.java:74)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
com.hrj.DTMonitor.filter.LoginFilter.doFilter(LoginFilter.java:32)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.
________________________________________
Apache Tomcat/6.0.16

12 个解决方案

#1


错误是javax.servlet.http.HttpServlet.service,
所以我猜测是Tomcat的环境变量没配置好,
有可能在classpath里没有加Servlet-api.jar这个包。
The value for the useBean class attribute bookshop.run.login is invalid. 
这句也正说明这个问题。
如果是没有添加的话,在Tomcat目录的common下的lib文件夹里有这个jar包 

#2


引用 1 楼 lu76689614 的回复:
错误是javax.servlet.http.HttpServlet.service,
所以我猜测是Tomcat的环境变量没配置好,
有可能在classpath里没有加Servlet-api.jar这个包。
The value for the useBean class attribute bookshop.run.login is invalid. 
这句也正说明这个问题。
如果是没有……




put your Servlet-api.jar into your tomcat lib folder.

#3


加Servlet-api.jar的方法没用啊

#4


而且好像回答的不是我的问题啊

#5


引用 3 楼 woshiygjs 的回复:
加Servlet-api.jar的方法没用啊

当然没用了tomcat中已经包含了这个包,你的问题还是jasper.jar重复,改名是没有意义的,发布后把由eclipse拷贝过来的jasper.jar删掉。

#6


你们的答案都不对,我自己在网上找到了,不过还是谢谢你们的好意应该这样做
org.apache.jasper.JasperException: java.lang.ClassCastException:org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor 

        at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522) 

        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:356) 

修改了tomcat里的context.xml文件,在context 元素下添加 

<Loader delegate="true" />  

#7


该回复于2011-03-25 10:43:47被版主删除

#8


谢谢楼主,呵呵,我的这个问题解决了

#9


thanx,问题解决

#10


谢谢楼主。<Loader delegate="true" />我的问题也解决了。

#11


在config\context.xml或者config\server.xml 配置

<Loader delegate="true" />会引起spring运行异常。

由于项目之间的差异 造成配置文件有稍微不同。

使用同一个tomcat测试 很可能就会出现这样那样的问题。

#12


Thx

#1


错误是javax.servlet.http.HttpServlet.service,
所以我猜测是Tomcat的环境变量没配置好,
有可能在classpath里没有加Servlet-api.jar这个包。
The value for the useBean class attribute bookshop.run.login is invalid. 
这句也正说明这个问题。
如果是没有添加的话,在Tomcat目录的common下的lib文件夹里有这个jar包 

#2


引用 1 楼 lu76689614 的回复:
错误是javax.servlet.http.HttpServlet.service,
所以我猜测是Tomcat的环境变量没配置好,
有可能在classpath里没有加Servlet-api.jar这个包。
The value for the useBean class attribute bookshop.run.login is invalid. 
这句也正说明这个问题。
如果是没有……




put your Servlet-api.jar into your tomcat lib folder.

#3


加Servlet-api.jar的方法没用啊

#4


而且好像回答的不是我的问题啊

#5


引用 3 楼 woshiygjs 的回复:
加Servlet-api.jar的方法没用啊

当然没用了tomcat中已经包含了这个包,你的问题还是jasper.jar重复,改名是没有意义的,发布后把由eclipse拷贝过来的jasper.jar删掉。

#6


你们的答案都不对,我自己在网上找到了,不过还是谢谢你们的好意应该这样做
org.apache.jasper.JasperException: java.lang.ClassCastException:org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor 

        at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522) 

        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:356) 

修改了tomcat里的context.xml文件,在context 元素下添加 

<Loader delegate="true" />  

#7


该回复于2011-03-25 10:43:47被版主删除

#8


谢谢楼主,呵呵,我的这个问题解决了

#9


thanx,问题解决

#10


谢谢楼主。<Loader delegate="true" />我的问题也解决了。

#11


在config\context.xml或者config\server.xml 配置

<Loader delegate="true" />会引起spring运行异常。

由于项目之间的差异 造成配置文件有稍微不同。

使用同一个tomcat测试 很可能就会出现这样那样的问题。

#12


Thx