下面我们配置Struts2和Spring2.5的整合。

  首先我们配置Web项目和Spring框架之间的关系。修改web.xml文件:

1、 指定spring的配置文件,默认从web根目录寻找配置文件,我们可以通过spring提供的classpath:前缀指定从类路径下寻找。


2、 添加监听器-Spring容器进行实例化

 

 

3、添加过滤器。

 

4、添加乱码过滤器-配置字符编码过滤器(解决乱码问题)

 

 

以上操作完成之后。web.xml文件代码如下:

 

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

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"

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

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

    <!--

       指定spring的配置文件,默认从web根目录寻找配置文件,我们可以通过spring提供的classpath:前缀指定从类路径下寻找

    -->

    <context-param>

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

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

    </context-param>

    <!-- 配置Struts2的过滤器-->

    <filter>

       <filter-name>struts2</filter-name>

    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

    </filter>

    <!-- 解决因session关闭而导致的延迟加载例外的问题 -->

    <filter>

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

    <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>

    </filter>

    <!-- 配置字符编码过滤器(解决乱码问题) -->

    <filter>

       <filter-name>encoding</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>struts2</filter-name>

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

    </filter-mapping>

    <filter-mapping>

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

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

    </filter-mapping>

    <filter-mapping>

       <filter-name>encoding</filter-name>

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

    </filter-mapping>

    <!-- Spring容器进行实例化,并把实例存放在application的属性里 -->

    <listener>

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

    </listener>

    <welcome-file-list>

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

    </welcome-file-list>

    <login-config>

       <auth-method>BASIC</auth-method>

    </login-config>

</web-app>