`
周禄康
  • 浏览: 158611 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

Struts1.2+Spring2.5+Hibernate3.2框架搭建(五)

    博客分类:
  • ssh
阅读更多

配置好以后的web.xml文件为:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    version="2.4"

    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <!-- 向监听器类中传递初始化参数,以获取beanFactory对象 -->

    <context-param>

       <param-name>contextConfigLocation</param-name>

       <param-value>classpath:applicationContext.xml</param-value>

    </context-param>

    <!--

       使用监听器初始化SpringbeanFactory,并将其放入到Context中,在使用时将其取出,以获取IOC容器中的bean

    -->

    <listener>

       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

    </listener>

 

    <servlet>

       <servlet-name>action</servlet-name>

       <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

       <init-param>

           <param-name>config</param-name>

           <param-value>/WEB-INF/struts-config.xml</param-value>

       </init-param>

       <init-param>

           <param-name>debug</param-name>

           <param-value>3</param-value>

       </init-param>

       <init-param>

           <param-name>detail</param-name>

           <param-value>3</param-value>

       </init-param>

       <load-on-startup>0</load-on-startup>

    </servlet>

    <servlet-mapping>

       <servlet-name>action</servlet-name>

       <url-pattern>*.do</url-pattern>

    </servlet-mapping>

 

    <!-- 使用Spring中的过滤器解决中文乱码问题 -->

    <filter>

       <filter-name>characterEncodingFilter</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>

       <init-param>

           <param-name>forceEncoding</param-name>

           <param-value>true </param-value>

       </init-param>

    </filter>

   

    <!-- 解决hibernate延迟加载带来的异常,配置过滤器使Session在请求完成之后再关闭 -->

    <filter>

       <filter-name>OpenSessionInViewFilter</filter-name>

       <filter-class>com.zlk.util.OpenSessionInViewFilter</filter-class>

       <init-param>

           <param-name>singleSession</param-name>

           <param-value>true</param-value>

       </init-param>

    </filter>

   

    <filter-mapping>

       <filter-name>characterEncodingFilter</filter-name>

       <url-pattern>/*</url-pattern>

    </filter-mapping>

   

    <filter-mapping>

       <filter-name>OpenSessionInViewFilter</filter-name>

       <url-pattern>/*</url-pattern>

    </filter-mapping>

 

    <welcome-file-list>

       <welcome-file>index.jsp</welcome-file>

    </welcome-file-list>

</web-app>

 

3.3. 配置 struts-config.xml 文件

  <action mappings/><message resource />标签之间添加如下代码,实现让Spring代理action

  <!-- 使用Spring DelegatingRequestProcessor 来代替strutsRequestProcessor-->

  <controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/>

3.4. 修改 Spring 配置文件 applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"

    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

 

    <bean name="/login" class="com.zlk.struts.action.LoginAction"></bean>

</beans>

粗体字是关于接受和处理 Action 控制权的配置内容,"com.login.struts.action.LoginAction" 即为原 struts 里的配置。

分享到:
评论
2 楼 周禄康 2010-08-17  
gqzyyxh 写道
你好:
     在<action mappings/>和<message resource />标签之间添加如下代码,实现让Spring代理action
  <!-- 使用Spring 的 DelegatingRequestProcessor 类 来代替struts的RequestProcessor类-->

<controller processorClass=
                            "org.springframework.web
                                .struts.DelegatingRequestProcessor"/>
这个配置不懂,struts-config.xml中action中的type属性不是写成org.springframework.web.struts.DelegatingActionProxy 来让Spring实现代理的么?

这是另一种Spring和Struts整合的方式,
这是用Spring的DelegatingRequestProcessor 来替代Struts的RequestProcessor,这样你的action中就不必写type这个属性了。至于更深的原因,建议你去看一下Spring的DelegatingRequestProcessor这个类,看看他将拿到的struts请求都交给哪些类处理了,你就明白了。
1 楼 gqzyyxh 2010-08-16  
你好:
     在<action mappings/>和<message resource />标签之间添加如下代码,实现让Spring代理action
  <!-- 使用Spring 的 DelegatingRequestProcessor 类 来代替struts的RequestProcessor类-->

<controller processorClass=
                            "org.springframework.web
                                .struts.DelegatingRequestProcessor"/>
这个配置不懂,struts-config.xml中action中的type属性不是写成org.springframework.web.struts.DelegatingActionProxy 来让Spring实现代理的么?

相关推荐

Global site tag (gtag.js) - Google Analytics