错误提示:严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

解决方法:
1、核对WEB-INF目录下的lib包 是否包含strut2的8个核心jar包
     
文件名                    
说   明
struts2-core-2.3.4.1.jar  
   Struts 2框架的核心类库
Xwork-core-2.3.4.1.jar       
XWork类库,Struts 2的构建基础
Ognl-3.0.5.jar             
  Struts 2使用的一种表达式语言类库
freemarker-2.3.19.jar        
Struts 2的标签模板使用类库
commons-fileupload-1.2.2.jar   
Struts 2文件上传依赖包
javassist-3.11.0.GA.jar      
代码生成工具包
commons-lang3-3.1.jar        
Apache语言包,是java.lang包的扩展
commons-io-2.0.1.jar         
Apache IO包

注意2.1以前是没有commons-fileupload-1.2.1.jar, strut2的8个核心jar包是使用strut2必须导入的最少jar包

2、如果struts2版本是2.1以前

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

<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配置

<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>
####################################################
 
实际上,无论struts2是哪个版本的,都可以在web.xml加入清除缓存的过滤器,但这不是必须的:
<filter>
<filter-name>struts-cleanup</filter-name>

<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>
strtus2要在web.xml里面配置这一项作用:
 清除缓存,帮我们进行清理
在做上传文件的时候,要在web.xml中增加ActionContextCleanUp这个filter,如果不增加,会发生第一次上传取不到文件的情况

其实:struts2 版本在2.1以上也可以2中的web.xml配置

3、

在使用struts-2.2以上版本时,必须加入javassist-**.ga.jar,否则就会出现上面的错误提示,而这个在struts-2.3.4\lib(其中struts-2.3.4是struts的目录)下是没有的,需要在struts-2.3.4\apps\struts2-blank-2.2.1.war下的lib中找到并加入到当前项目下WEB-INF/lib目录下。

所以在struts2.1以上的版本要引入的包应该是8个包

commons-fileupload-1.2.1.jar,
commons-io-1.3.2.jar
commons-logging-1.0.4.jar
freemarker-2.3.16.jar

javassist-3.7.ga.jar
ognl-3.0.jar
struts2-core-2.2.1.jar
xwork-core-2.2.1.jar

struts.xml文件头是从struts2-2.2.1-all\struts-2.2.1\apps里的任意文件拷贝的!

--------------------------------------------------------------------------------------------------------------------------------------------------------

4、通用解决办法
 其实可以把struts-2.3.4\apps\struts2-blank-2.2.1.war下的lib中所有jar包导入到当前项目的WEB-INF/lib目录下。(struts-2.3.4\apps\目录下是所有的示例文件

严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.Invoc的更多相关文章

  1. struts2 错误:Dispatcher initialization failed java.lang.RuntimeException

    严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.InvocationTargetE ...

  2. 严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.InvocationT

    严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.InvocationT (2012 ...

  3. java.lang.RuntimeException: java.lang.ClassNotFoundException: cmd.CmdWordCount$MyMapper解决方法

    14/02/28 20:29:48 INFO mapred.JobClient: Task Id : attempt_201402281833_0004_m_000000_1, Status : FA ...

  4. java.lang.RuntimeException: java.lang.NoSuchMethodException:

    [java] 15/12/19 14:09:46 INFO mapred.JobClient: Task Id : attempt_201512182036_0017_m_000000_0, Stat ...

  5. SpringBoot项目启动报错:java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

    .   ____          _            __ _ _ /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \( ( )\___ | '_ | '_| | ...

  6. QA:java.lang.RuntimeException:java.io.FileNotFoundException:Resource nexus-maven-repository-index.properties does not exist.

    QA:java.lang.RuntimeException:java.io.FileNotFoundException:Resource nexus-maven-repository-index.pr ...

  7. storm supervisor启动报错java.lang.RuntimeException: java.io.EOFException

    storm因机器断电或其他异常导致的supervisor意外终止,再次启动时报错: 1. 2013-09-24 09:15:44,361 INFO [main] daemon.supervisor ( ...

  8. Android Studio 首次安装报错 Java.lang.RuntimeException:java.lang.NullPointerException...错

    下次安装报:Java.lang.RuntimeException: java.lang.NullPointerException......错 只需在文件..\Android Studio\bin\i ...

  9. Caused by: java.lang.RuntimeException: java.io.IOException: invalid constant type: 18

    工程启动的时候有报下面这个错误的,更新下工程的jar包依赖,然后在工程的pom文件里加上下面的jar包 Caused by: java.lang.RuntimeException: java.io.I ...

随机推荐

  1. ecside 列表排序问题

    ecside列表首先点击某一列排序,没有问题,再点第二列的时候没有起作用.原因是第二次排序的时候还包含着第一次排序的字段.所以排序始终是第一次的排序结果. 修改ecside.js 的ECSideUti ...

  2. [Android Pro] 分析 Package manager has died

    reference to : http://blog.csdn.net/xxooyc/article/details/50162523 这是今天遇到的一个issue,由于Binder造成的.虽然比较简 ...

  3. OpenShift 如何获取bearer Token以便进行各种API调用

    Openshift 需要通过bearer token的方式和API进行调用,比如基于Postman就可以了解到,输入bearer token后 1.如何获取Bearer Token 但Bearer T ...

  4. Matlab中下标,斜体,及希腊字母的使用方法

    下面是Matlab官方列出来的Tex代码列表,包含了绝大部分的希腊字母和数学符号. Character Sequence Symbol Character Sequence Symbol Charac ...

  5. 线程本地存储TLS(Thread Local Storage)的原理和实现——分类和原理

    本文为线程本地存储TLS系列之分类和原理. 一.TLS简述和分类 我们知道在一个进程中,所有线程是共享同一个地址空间的.所以,如果一个变量是全局的或者是静态的,那么所有线程访问的是同一份,如果某一个线 ...

  6. Woocommerce 分类下的产品如何使用ID号来作为默认排序字段

    在给一个客户开发网店系统时使用了WordPress系统的Woocommerce插件 WordPress版本:3.8 Woocommerce版本:2.0.20 如果没有指定排序规则(指定的字段),则Wo ...

  7. 分治算法——Karastsuba算法

    分治(Divide and Conquer)算法:问题能够分解为子问题,每一个问题是能够独立的解决的,从子问题的解能够构建原问题. Divide:中间分.随机分.奇偶分等,将问题分解成独立的子问题 C ...

  8. JAVA:连接池技术说明以及MVC设计模式理解

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjgzMDgwNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  9. angularjs库及ionic库下载地址

    angularjs库下载地址: 下载地址:https://code.angularjs.org/ 引用地址:http://www.bootcdn.cn/angular.js/ ionic库下载地址: ...

  10. SQLServer 之 Group By 和 Compute By

    创建测试表,如下: CREATE TABLE tableTest ( Id INT PRIMARY KEY, DepartMent ), Name ), Salary int ) 添加测试数据,如下图 ...