struts2报java.lang.RuntimeException: java.lang.reflect.InvocationTargetException错

本文详细介绍了解决Struts2初始化失败问题的方法,包括检查lib包、正确配置web.xml文件,以及根据Struts2版本引入相关jar包。对于使用Struts2版本2.1及以后的用户,需配置新的过滤器;而对于2.1之前的版本,配置方式有所不同。此外,针对Struts2-2.2.1版本,特别强调了引入javassist-3.7.ga.jar的重要性,并指导用户在指定位置查找该jar包。

严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.InvocationTargetException 问题解决

1、核对lib包

commons-fileupload-1.2.1.jar,
commons-io-1.3.2.jar
commons-logging-1.0.4.jar
freemarker-2.3.16.jar
ognl-3.0.jar
struts2-core-2.2.1.jar
xwork-core-2.2.1.jar)

注意2.1以前是没有commons-fileupload-1.2.1.jar,

2、如果struts2版本是2.1以前

web.xml配置过滤器的时候应该是这样:

  1. <filter>  
  2.   <filter-name>struts2</filter-name>  
  3.   <filter-class>org.apache.struts2.dispatcher.FilterDispatcher  
  4. </filter-class>  
  5.   </filter>  
  6.   <filter-mapping>  
  7.   <filter-name>struts2</filter-name>  
  8.   <url-pattern>/*</url-pattern>  
  9.   </filter-mapping>  
  10. </web-app>  
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>

如果struts2 版本是2.1以上

web.xml配置

  1. <filter>  
  2.   <filter-name>struts2</filter-name>  
  3.   <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter  
  4. </filter-class>  
  5.   </filter>  
  6.   <filter-mapping>  
  7.   <filter-name>struts2</filter-name>  
  8.   <url-pattern>/*</url-pattern>  
  9.   </filter-mapping>  
  10. </web-app>  
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>

3、

在使用struts-2.2.1时,需要引入javassist-3.7.ga.jar,而这个在struts-2.2.1\lib下是没有的,需要在struts-2.2.1\apps\struts2-blank-2.2.1.war下的lib中找。

五月 05, 2025 11:06:26 下午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet [com.xjx.example.controller.CouponServlet] in context with path [/XuJunxi_CloudMusic] threw exception java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at com.xjx.example.controller.BaseServlet.service(BaseServlet.java:49) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.xjx.example.filter.LoginFilter.doFilter(LoginFilter.java:54) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
05-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值