02、Spring_web.xml


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 version="2.5">
 
 <!-- 在啓動時,系統緩存web應用的跟路徑,獲取方式:String root = System.getProperty("platform.root") -->
 <context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>platform.root</param-value>
    </context-param>
 <listener> 
     <listener-class>org.springframework.web.util.WebAppRootListener</listener-class> 
 </listener> 
 
 
 <!-- 在啓動時,實例化Spring容器,自動加載Spring配置文件,IOC控制反轉管理bean -->
 <!-- 假如沒有配置這個,Spring默認加載applicationContext.xml文件,配置這個之後,就按照對應路徑加載 -->
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>
   classpath*:/spring-base.xml
  </param-value>
 </context-param>
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 
 
 <!-- 爲了避免使用第三方應用(Struts、Quartz等)產生的內存溢出 -->
 <listener>
  <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
 </listener>
 
 <!-- Spring爲我們解決Hibernate的Session的關閉與開啓問題,將事物和session綁定在一個線程 -->
 <filter>
  <filter-name>OpenSessionInViewFilter</filter-name>
  <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
  <init-param>
   <param-name>excludeSuffixs</param-name>
   <param-value>js,css,jpg,gif,png</param-value>
  </init-param>
 </filter>
 <filter-mapping>
  <filter-name>OpenSessionInViewFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 
 <!-- Spring管理設置request和response的編碼爲UTF-8 -->
 <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>
 <filter-mapping>
  <filter-name>encodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 
 <!-- 基於redis緩存的請求過濾驗證 -->
 <filter>
  <display-name>RedisSessionFilter</display-name>
  <filter-name>RedisSessionFilter</filter-name>
  <filter-class>com.demo.filter.session.RedisSessionFilter</filter-class>
  <!-- 傳輸到過濾器類的參數 -->
  <init-param>
   <param-name>sessionId</param-name>
   <param-value>platform6sid</param-value>
  </init-param>
  <init-param>
   <param-name>cookieDomain</param-name>
   <param-value></param-value>
  </init-param>
  <init-param>
   <param-name>cookiePath</param-name>
   <param-value>/</param-value>
  </init-param>
 </filter>
 <filter-mapping>
  <filter-name>RedisSessionFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 
 <!-- 設置session的過濾器  -->
 <filter> 
     <filter-name>loginFilter</filter-name> 
     <filter-class> 
         com.demo.api.syssso.filter.LoginFilter 
     </filter-class> 
      <init-param> 
         <param-name>httpheaderlogin</param-name> 
         <param-value>false</param-value> 
     </init-param> 
      <init-param> 
         <param-name>ssologin</param-name> 
         <param-value>false</param-value> 
     </init-param> 
      <init-param> 
         <param-name>loginPage</param-name> 
         <param-value>login_sso_cas.jsp</param-value> 
     </init-param> 
     <init-param> 
         <param-name>authSessionVars</param-name> 
         <param-value>CURRENT_LOGINUSER</param-value> 
     </init-param> 
      <init-param> 
         <param-name>redirectURIVarName</param-name> 
         <param-value>sourceURI</param-value> 
     </init-param> 
     <init-param> 
         <param-name>redirectQueryStringVarName</param-name> 
         <param-value>sourceQueryString</param-value> 
     </init-param> 
     <init-param> 
         <param-name>notFilters</param-name> 
         <param-value>login_sso_cas.jsp,login-normal.jsp,logout_forCas.jsp,logout.jsp,login.action,login_sso_err.jsp,login.jsp,login4.jsp</param-value> 
     </init-param> 
 </filter> 
 <filter-mapping> 
     <filter-name>loginFilter</filter-name> 
     <url-pattern>*.jsp</url-pattern> 
 </filter-mapping> 
 <filter-mapping> 
     <filter-name>loginFilter</filter-name> 
     <url-pattern>*.action</url-pattern> 
 </filter-mapping> 
 
 <!-- sso demo cas -->
 
 <filter> 
     <filter-name>ssoCasFiller</filter-name> 
     <filter-class> 
        com.demo.api.syssso.filter.CASFilter 
     </filter-class> 
     
 </filter> 
 <filter-mapping> 
     <filter-name>ssoCasFiller</filter-name> 
     <url-pattern>/login/login_sso_cas.jsp</url-pattern> 
 </filter-mapping> 
 
 <!-- shrio 安全過濾器   -->
 <filter>
  <filter-name>contextShirocommonFilter</filter-name>
  <filter-class>com.demo.api.sysshirolog.filter.ShiroContextPersistenceFilter</filter-class>
  <init-param>
   <!-- 系統初始化緩存開關-->
   <param-name>initLoadFlag</param-name>
   <param-value>true</param-value>
  </init-param>
  
  <init-param>
   <!-- 線程安全操作類-->
   <param-name>frameworkContextRepository</param-name>
   <param-value>com.demo.api.sysshirolog.utils.HttpSessionFrameworkContextRepository</param-value>
  </init-param>
 </filter>
 <filter-mapping>
  <filter-name>contextShirocommonFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 
 <!-- 把容器初始化的數據保存起來,可以作用在容器的每個bean上 -->
 <filter>
  <filter-name>shiroFilter</filter-name>
  <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
  <init-param>
   <param-name>targetFilterLifecycle</param-name>
   <param-value>true</param-value>
  </init-param>
 </filter>
 <filter-mapping>
  <filter-name>shiroFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 <!--
 <filter>
  <filter-name>RestAuthFilter</filter-name>
  <filter-class>com.demo.core.rest.auth.RestAuthFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>RestAuthFilter</filter-name>
  <url-pattern>/rest/*</url-pattern>
 </filter-mapping>
  -->
 <!-- 初始化功能模塊的組件至父容器,ContextLoaderListner初始化的是全局(父容器) -->
 <servlet>
  <servlet-name>springServlet</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <init-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>classpath*:/spring-mvc.xml</param-value>
  </init-param>
  <load-on-startup>2</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>springServlet</servlet-name>
  <url-pattern>/demo/*</url-pattern>
 </servlet-mapping>
 
 <welcome-file-list>
     <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
   
    <!-- 附件以swf形式上傳下載 -->
 <servlet>
 <servlet-name>swfUpload</servlet-name>
 <servlet-class>
     com.demo.modules.system.sysfileupload.action.SwfUploadServlet
 </servlet-class>
 <load-on-startup>3</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>swfUpload</servlet-name>
  <url-pattern>/swfUpload</url-pattern>
 </servlet-mapping>
 
 
</web-app>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章