zoukankan      html  css  js  c++  java
  • struts2整合spring出现的Unable to instantiate Action异常

      在struts2整合spring的时候,完全一步步按照官方文档上去做的,最后发现出现 Unable to instantiate Action,网上一搜发现很多人和我一样的问题,配置什么都没有错误,就是出现这个问题,其实这个原因很简单就是Spring容器没有启动,struts2容器到spring容器里面找Action的时候当然就找不到了。

      问题就出在web.xml配置的问题,按照struts2官方文档上面步骤,在web.xml里面配置加入以下代码:

    <!-- Context Configuration locations for Spring XML files -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>
    </context-param>

      问题就出在这里。我们知道struts2整合spring的时候, spring配置文件会默认为  /WEB-INF/applicationContext.xml 。但时如果我们加上上面的配置,当启动Spring容器的时候,它就会去 【/WEB-INF/】或者【/WEB-INF/classes/及其子目录(也就是classpath*)】下面查找以名字以 applicationContext-(注意有一个[-]) 为开头的spring配置文件。但是我们一般习惯性的将spring的配置文件起名为 applicatinContext.xml,所以是永远也加载不了这个文件啦。或者是没有加上如上的配置但是我们把spring配置文件放在类加载路径下,也无法加载了。

    所以我们只要把【-】去掉就可以了

        <!-- Context Configuration locations for Spring XML files -->
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/applicationContext*.xml,classpath*:applicationContext*.xml</param-value>
        </context-param>

      就一切正常啦。

  • 相关阅读:
    BZOJ 1718: [Usaco2006 Jan] Redundant Paths 分离的路径( tarjan )
    BZOJ 1040: [ZJOI2008]骑士( 树形dp )
    BZOJ 1691: [Usaco2007 Dec]挑剔的美食家( 平衡树 )
    HDU 5667 Sequence 矩阵快速幂
    FZU 2225 小茗的魔法阵 扫描线+树状数组
    UVA 11916 Emoogle Grid 离散对数 大步小步算法
    UVA 11754 Code Feat 中国剩余定理+暴力
    FZU 2092 收集水晶 dp+bfs
    FZU2090 旅行社的烦恼 巧妙floyd 最短路
    UVA 11426 GCD
  • 原文地址:https://www.cnblogs.com/ArtsCrafts/p/struts2_spring.html
Copyright © 2011-2022 走看看