错误提示:严重: 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. maven编译错误,警告: BASE64Decoder是内部专用 API, 可能会在未来发行版中删除

    修改红色部分版本号为2.3.2              <plugin>                 <groupId>org.apache.maven.plugins& ...

  2. 在Spark中尽量少使用GroupByKey函数(转)

    原文链接:在Spark中尽量少使用GroupByKey函数 为什么建议尽量在Spark中少用GroupByKey,让我们看一下使用两种不同的方式去计算单词的个数,第一种方式使用reduceByKey  ...

  3. 数学图形(1.40)T_parameter

    不记得在哪搞了个数学公式生成的图形. vertices = t = to (*PI) r = 2.0 x = r*(*cos(t) - cos(*t)) y = r*(*sin(t) - sin(*t ...

  4. Orchard运用 - 理解App_Data目录结构

    了解一个系统,应该基本上要了解目录结构及其组织形式.这样对于开发人员更是必备的知识,比如开发模块最终安装到哪,主题Themes是如何配置启用. 今天跟大家分享其实是个笔记记录,就是看到有一篇文章介绍A ...

  5. dynamic bone unity github

    https://github.com/unity3d-jp/unitychan-crs 我发现我总找不到以前的东西.. https://www.cnblogs.com/alps/p/8284577.h ...

  6. C++数组参数应用方式探讨(转)

    对于经验丰富的编程人员来说,C++编程语言应该是他们经常使用于程序开发的一种实用性语言.那么,在C++中,C++数组参数永远不会按值传递.它是传递第一个元素(准确地说是第0个)的指针. 例如,如下声明 ...

  7. Android获取cpu使用率,剩余内存和硬盘容量

    1.内存信息 在proc/meminfo下有具体的内存使用情况,我这里获取的内存信息就是从这个文件中获取的.获取到具体的内存信息后依据我自己的需求,从bufferdreader中单独抽取出来了剩余的内 ...

  8. 引导工具GRUB详解

    导读 引导程序是驻留在硬盘第一个扇区(MPR.主引导记录)的程序.GRUB是一个功能强大的多系统引导程序,专门处理Linux与其它操作系统共存的问题.下面就由我介绍一下grub.conf文件里的具体内 ...

  9. Mongodb 官网驱动2.2.4.26版本 增,删 改,查

    Mongodb是3.2.7版本 最近在学习mongodb数据库在网上找到的都不是2.X版本以下的,因为驱动从2.X以后修改了很多,以前不支持linq现2.X也支持了, Mongodb 启动服务就不说了 ...

  10. pring MVC过滤器-HttpPutFormContentFilter

    在Spring MVC过滤器-HiddenHttpMethodFilter中我们提到,jsp或者说html中的form的method值只能为post或get,我们可以通过HiddenHttpMetho ...