疯狂

STANDING ON THE SHOULDERS OF GIANTS
posts - 481, comments - 486, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
在不使用spring。单独使用struts是报错:
严重: Exception starting filter struts2
java.lang.NullPointerException
at com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:190)
。。。
原因是多了一个struts2-spring-plugin-X.jar包,
此包是struts的spring的插件:
打开struts2-spring-plugin-X.jar看一下struts-plugin.xml内容:

<struts>
    <bean type="com.opensymphony.xwork2.ObjectFactory" name="spring" class="org.apache.struts2.spring.StrutsSpringObjectFactory" />
    
    <!--  Make the Spring object factory the automatic default -->
    <constant name="struts.objectFactory" value="spring" />
   
<package name="spring-default">
        <interceptors>
            <interceptor name="autowiring" class="com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor"/>
            <interceptor name="sessionAutowiring" class="org.apache.struts2.spring.interceptor.SessionContextAutowiringInterceptor"/>
        </interceptors>
    </package>   
</struts>

请大家关注红色部分:
 <!--  Make the Spring object factory the automatic default -->意思是:会将Spring object factory 设置为默认。也就是说我们不配置struts.objectFactory=spring 但是只要这个包在classpath下就等于设置了struts.objectFactory=spring 。

 
解决办法,去掉此包即可.

只有注册用户登录后才能发表评论。


网站导航: