struts2+hibernate+spring配置管理(一)-配置文件(转)

虽然是简单的用户登录,但东西一点不少,基于MVC原理实现,共分DAO层,SERVICE层,ACTION层和WEB层,其中DAO和SERVICE层都有各自的接口。

今天主要讲解配置文件的代码,我学习实例,喜欢从控制层出发,然后用到了哪些类或者JSP,再一一扯“蛋”扯出来。

当然,还是先看web.xml

xml 代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"  
  3.          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  4.     <!-- Spring ApplicationContext配置文件的路径 ,可使用通配符,多个路径用 1,号分隔,此参数用于后面的Spring-Context loader -->  
  5.     <context-param>  
  6.         <param-name>contextConfigLocation</param-name>  
  7.         <param-value>classpath*:spring/*.xml</param-value>  
  8.     </context-param>  
  9.   
  10.        
  11.     <!-- 著名 Character Encoding filter -->  
  12.     <filter>  
  13.         <filter-name>encodingFilter</filter-name>  
  14.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
  15.         <init-param>  
  16.             <param-name>encoding</param-name>  
  17.             <param-value>UTF-8</param-value>  
  18.         </init-param>  
  19.     </filter>  
  20.     <!--Hibernate Open Session in View Filter-->  
  21.     <filter>  
  22.         <filter-name>hibernateFilter</filter-name>  
  23.         <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>  
  24.     </filter>  
  25.     <!-- ExtremeTable 导出Excel和Pdf的Filter -->  
  26.     <filter>  
  27.         <filter-name>eXtremeExport</filter-name>  
  28.         <filter-class>org.extremecomponents.table.filter.ExportFilter</filter-class>  
  29.     </filter>  
  30.     <filter-mapping>  
  31.         <filter-name>encodingFilter</filter-name>  
  32.         <url-pattern>*.do</url-pattern>  
  33.     </filter-mapping>  
  34.     <filter-mapping>  
  35.         <filter-name>encodingFilter</filter-name>  
  36.         <url-pattern>*.jsp</url-pattern>  
  37.     </filter-mapping>  
  38.     <filter-mapping>  
  39.         <filter-name>hibernateFilter</filter-name>  
  40.         <url-pattern>*.do</url-pattern>  
  41.     </filter-mapping>  
  42.   
  43.   
  44.     <!--Spring ApplicationContext 载入 -->  
  45.     <listener>  
  46.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  47.     </listener>  
  48.   
  49.     <!-- Spring 刷新Introspector防止内存泄露 -->  
  50.     <listener>  
  51.         <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>  
  52.     </listener>  
  53.   
  54.        
  55.     <!-- session超时定义,单位为分钟 -->  
  56.     <session-config>  
  57.         <session-timeout>10</session-timeout>  
  58.     </session-config>  
  59.   
  60. </web-app>  
  61.   

东西很简单,无非是配置一些过滤器呀,监听器的。主要讲一下openSessionInViewFilter吧,假设在你的应用中 Hibernate是通过spring 来管理它的session.如果在你的应用中没有使用OpenSessionInViewFilter或者 OpenSessionInViewInterceptor。session会在transaction结束后关闭,此时会抛出session is close 的异常。关于这方面的知识,值得大家去找一下相关资料仔细阅读。


posted @ 2008-10-24 20:55  Earl_86  阅读(181)  评论(0编辑  收藏  举报