以前项目的代码是s2sh做的集成,现在要求不使用spring,hibernate ,不使用数据存储,只要stuts2就可以了,bean 也不需要spring 来管理。我把与spring 相关的和hibernate相关的东西全部删除了。但在启动的时候还会报错。
web.xml 配置如下:
 
<!-- <listener>-->
<!-- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>-->
<!-- </listener>-->
<!-- 加载applicationContext-*.xml 配置 -->
<!-- <context-param>-->
<!-- <param-name>contextConfigLocation</param-name>-->
<!-- <param-value>classpath:applicationContext-*.xml</param-value>-->
<!-- </context-param>-->
<!-- 请求数据的编码过滤器  -->
<filter>
<filter-name>charsetFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>charsetFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <!-- 配置  Spring osiv 延长session 的时间-->
<!-- <filter>-->
<!-- <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>-->
<!-- </filter>-->
<!---->
<!-- <filter-mapping>-->
<!-- <filter-name>osiv</filter-name>-->
<!-- <url-pattern>/*</url-pattern>-->
<!-- </filter-mapping>--> <!-- 配置ActionContextCleanUp映射 防止内存外泄 -->
<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> <!-- struts2 配置 -->
<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>  struts.xml 文件没有bean的管理。 <action name="registrationAction" class="com.hkrt.web.action.RegistrationAction">
      <result name="success">/success.jsp</result>
      <result name="fail">/fail.jsp</result>
    </action>启动时报错:Looks like the Spring listener was not configured for your web app! 
Nothing will work until WebApplicationContextUtils returns a valid ApplicationContext.
You might need to add the following to web.xml: 
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
10:39:58,859 ERROR Dispatcher:27 - Dispatcher initialization failed
java.lang.NullPointerException
at com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:209)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyResultType(XmlConfigurationProvider.java:519)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addResultTypes(XmlConfigurationProvider.java:490)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:446)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:264)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:193)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)

解决方案 »

  1.   

    。 这能是简单的删掉就能完成的吗?hibernate都无所谓 spring帮你初始化了各种实体类对象你起码要自己构造吧
      

  2.   

    呵呵,问题解决了,新建一个struts2的项目,把与spring 和 hibernate 相关的东西删除。这样就Over了
      

  3.   

    怀疑这里配置是需要Spring的支持呢?<filter>
            <filter-name>struts-cleanup</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
        </filter>