Struts 2.3.29 Dispatcher initialization failed问题

本文解决Struts2.3.29版本部署时遇到的Dispatcherinitializationfailed问题,通过调整依赖包及配置文件filter-class,最终使HelloWorld测试程序成功运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Struts 2.3.29 Dispatcher initialization failed问题


初学Struts 2, 在进行配置部署的过程中反复遇到了
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. Struts 2.1版本
在2.1版本之前web.xml中有关filter-class的配置为:

<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

在2.1版本之上web.xml中有关filter-class的配置为:

<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

3.javassist包
在使用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中找。


在Struts 2.3.29版本中按照上述情况修改后,问题依旧。
在对2.3.29版本的Example分析之后,更改了依赖包的内容如下:

asm-3.3.jar
asm-commons-3.3.jar
asm-tree-3.3.jar
commons-fileupload-1.3.1.jar
commons-io-2.2.jar
commons-lang-2.4.jar
commons-lang3-3.2.jar
commons-logging-1.1.3.jar
freemarker-2.3.22.jar
javassist-3.11.0.GA.jar
ognl-3.0.17.jar
struts2-core-2.3.29.jar
xwork-core-2.3.29.jar

同时,filter-class改为上文提到的

<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

最后,2.3.29版本中,包javassist-3.11.0.GA.jar已经可以在lib中找到。
按照上述方式配置后,运行的Hello World测试程序已经可以正常运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值