WEB开发网
开发学院软件开发Java 使用SpringSide 3.1.4.3开发Web项目的全过程(下)... 阅读

使用SpringSide 3.1.4.3开发Web项目的全过程(下)

 2009-09-24 00:00:00 来源:WEB开发网   
核心提示: 修改web.xml,配置双份的OpenSessionInViewFilter,使用SpringSide 3.1.4.3开发Web项目的全过程(下)(5),如下: 1321<?xmlversion="1.0"encoding="UTF-8"?>&

修改web.xml,配置双份的OpenSessionInViewFilter,如下: 1321

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>MultiDatasourceExample</display-name>
    <!-- Spring ApplicationContext配置文件的路径,可使用通配符,多个路径用,号分隔
        此参数用于后面的Spring Context Loader -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:/applicationContext*.xml</param-value>
    </context-param>
    <!-- Character Encoding filter -->
    <filter>
        <filter-name>encodingFilter</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>
    <!-- SpringSide's Hibernate Open Session In View filter-->
    <filter>
        <filter-name>hibernateOpenSessionInViewFilterContent</filter-name>
        <filter-class>org.springside.modules.orm.hibernate.OpenSessionInViewFilter</filter-class>
        <init-param>
            <param-name>excludeSuffixs</param-name>
            <param-value>js,css,jpg,gif</param-value>
        </init-param>
        <init-param>      
               <param-name>sessionFactoryBeanName</param-name>
            <param-value>sessionFactoryContent</param-value>   
        </init-param>    
    </filter>
    <filter>
        <filter-name>hibernateOpenSessionInViewFilterIndex</filter-name>
        <filter-class>org.springside.modules.orm.hibernate.OpenSessionInViewFilter</filter-class>
        <init-param>
            <param-name>excludeSuffixs</param-name>
            <param-value>js,css,jpg,gif</param-value>
        </init-param>
        <init-param>      
               <param-name>sessionFactoryBeanName</param-name>
            <param-value>sessionFactoryIndex</param-value>   
        </init-param>    
    </filter>
    <!-- SpringSecurity filter-->
    <filter>
        <filter-name>springSecurityFilterChain</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    </filter>
    <!-- Struts2 filter -->
    <filter>
        <filter-name>struts2Filter</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>hibernateOpenSessionInViewFilterContent</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>hibernateOpenSessionInViewFilterIndex</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>springSecurityFilterChain</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts2Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!--Spring的ApplicationContext 载入 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <!-- Spring 刷新Introspector防止内存泄露 -->
    <listener>
        <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
    </listener>
    <!-- session超时定义,单位为分钟 -->
    <session-config>
        <session-timeout>20</session-timeout>
    </session-config>
    <!-- 出错页面定义 -->
    <error-page>
        <exception-type>java.lang.Throwable</exception-type>
        <location>/common/500.jsp</location>
    </error-page>
    <error-page>
        <error-code>500</error-code>
        <location>/common/500.jsp</location>
    </error-page>
    <error-page>
        <error-code>404</error-code>
        <location>/common/404.jsp</location>
    </error-page>
    <error-page>
        <error-code>403</error-code>
        <location>/common/403.jsp</location>
    </error-page>
</web-app>

在每一个Dao类里面使用@Resource注解指定使用哪一个SessionFactory。代码我就不列出来了,运行项目进行测试,成功。

到此,我们的征途圆满结束。但是SpringSide 3包含的特性远远不止这些,在showcase中,江南白衣不断在演示一些新的技术,这些技术如果用得恰当,会有效提高我们项目的开发速度和项目的运行效率,在以后的日子里,我会逐步为大家揭开这些神秘的面纱。

这里是该示例项目的源代码MultiDatasourceExample.rar,欢迎大家点击下载,使用Eclipse 3.4导入后,即可以编辑和运行。由于jar文件太占空间,这个源代码里面是不提供jar文件的,幸好我只给项目增加了mysql-connector.5.0.18.jar、 transaction-essential-all.jar两个和jta.properties一个,其余的都是标准的,大家可以从别的项目中拷贝过来。在运行项目之前,大家一定要记得手动创建数据库,并修改配置文件里面的数据库名和密码。

上一页  1 2 3 4 5 

Tags:使用 SpringSide 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接