zoukankan      html  css  js  c++  java
  • 严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.Invoc

    错误提示:严重: 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.4lib(其中struts-2.3.4是struts的目录)下是没有的,需要在struts-2.3.4appsstruts2-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-allstruts-2.2.1apps里的任意文件拷贝的!
    --------------------------------------------------------------------------------------------------------------------------------------------------------
    4、通用解决办法
     其实可以把struts-2.3.4appsstruts2-blank-2.2.1.war下的lib中所有jar包导入到当前项目的
    WEB-INF/lib目录下。(struts-2.3.4apps目录下是所有的示例文件

  • 相关阅读:
    解决HttpServletResponse输出的中文乱码问题
    Java微信公众平台开发(四)--回复消息的分类及实体的创建
    Java微信公众平台开发(三)--接收消息的分类及实体的创建
    Java微信公众平台开发(二)--微信服务器post消息体的接收
    Java微信公众平台开发(一)--接入微信公众平台
    ****创业者必看:黄太吉商业计划书完整版
    php变量的几种写法
    **对比$_POST、$GLOBALS['HTTP_RAW_POST_DATA']和file_get_contents('php://input')
    CodeIgniter报错: You must use the "set" method to update an entry
    2016年最新苹果开发者账号注册申请流程最强详解!
  • 原文地址:https://www.cnblogs.com/kabi/p/5182775.html
Copyright © 2011-2022 走看看