1. 程式人生 > >03.SpringMVC的配置

03.SpringMVC的配置

parameter one text mapping tar 執行 連接 XML nbsp

一、web.xml配置詳解

技術分享
  1 <?xml version="1.0" encoding="UTF-8"?>
  2 <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
  3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
  5     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  6 
  7
<!-- 可以設置節點載入順序 : 如下有兩種載入applicationContext的方式: 8 1. 啟動一個WEB項目的時候,容器(如:Tomcat)會去讀它的配置文件web.xml.讀兩個節點: <listener></listener> 和 <context-param></context-param> 9 2.緊接著,容器創建一個ServletContext(上下文),這個WEB項目所有部分都將共享這個上下文. 10 3.容器將<context-param></context-param>轉化為鍵值對,並交給ServletContext.
11 4.容器創建<listener></listener>中的類實例,即創建監聽. 12 5.在監聽中會有contextInitialized(ServletContextEvent args)初始化方法,在這個方法中獲得ServletContext = ServletContextEvent.getServletContext(); 13 context-param的值 = ServletContext.getInitParameter("context-param的鍵"); 14 6.得到這個context-param的值之後,你就可以做一些操作了.註意,這個時候你的WEB項目還沒有完全啟動完成.這個動作會比所有的Servlet都要早.
15 換句話說,這個時候,你對<context-param>中的鍵值做的操作,將在你的WEB項目完全啟動之前被執行. 16 7.舉例.你可能想在項目啟動之前就打開數據庫. 17 那麽這裏就可以在<context-param>中設置數據庫的連接方式,在監聽類中初始化數據庫的連接. 18 8.這個監聽是自己寫的一個類,除了初始化方法,它還有銷毀方法.用於關閉應用前釋放資源.比如說數據庫連接的關閉. 19 --> 20 <context-param> 21 <param-name>contextConfigLocation</param-name> 22 <param-value>classpath*:/spring/*.xml</param-value> 23 </context-param> 24 25 <!-- 一、context-param載入applicationContext: 26 1:src下面 需要在web.xml中定義如下: 27 <context-param> 28 <param-name>contextConfigLocation</param-name> 29 <param-value>classpath:applicationContext.xml</param-value> 30 </context-param> 31 2:WEB-INF下面 需要在web.xml中定義如下: 32 <context-param> 33 <param-name>contextConfigLocation</param-name> 34 <param-value>WEB-INF/applicationContext*.xml</param-value> 35 </context-param> 36 3:修改名字定義如下: 37 <context-param> 38 <param-name>contextConfigLocation</param-name> 39 <param-value>classpath:spring-mvc.xml</param-value> 40 </context-param> 41 --> 42 43 <!-- 二、init-param載入applicationContext: 44 1:默認配置載入如下: 45 <servlet> 46 <servlet-name>applicationContext</servlet-name> 47 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 48 </servlet> 49 <servlet-mapping> 50 <servlet-name>applicationContext</servlet-name> 51 <url-pattern>/</url-pattern> 52 </servlet-mapping> 53 2:修改名字位置載入如下: 54 <servlet> 55 <servlet-name>SpringMVC</servlet-name> 56 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 57 <init-param> 58 <param-name>contextConfigLocation</param-name> 59 <param-value>classpath:spring-mvc.xml</param-value> 60 </init-param> 61 <load-on-startup>1</load-on-startup> 62 </servlet> 63 <servlet-mapping> 64 <servlet-name>SpringMVC</servlet-name> 65 // 此處可以可以配置成*.do,*.action 對應不同需求 66 <url-pattern>/</url-pattern> 67 </servlet-mapping> 68 --> 69 70 <!-- 字符編碼過濾器 --> 71 <filter> 72 <filter-name>encodingFilter</filter-name> 73 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 74 <init-param> 75 <param-name>encoding</param-name> 76 <param-value>UTF-8</param-value> 77 </init-param> 78 <init-param> 79 <param-name>forceEncoding</param-name> 80 <param-value>true</param-value> 81 </init-param> 82 </filter> 83 <!-- 過濾器 過濾所有請求 名字對應--> 84 <filter-mapping> 85 <filter-name>encodingFilter</filter-name> 86 <url-pattern>/*</url-pattern> 87 </filter-mapping> 88 89 90 <!-- Spring監聽器 --> 91 <listener> 92 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 93 </listener> 94 <!-- 防止Spring內存溢出監聽器 --> 95 <listener> 96 <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> 97 </listener> 98 99 100 <welcome-file-list> 101 <welcome-file>index.jsp</welcome-file> 102 </welcome-file-list> 103 104 <!-- 配置session超時時間。單位分鐘。一般默認30min --> 105 <session-config> 106 <session-timeout>15</session-timeout> 107 </session-config> 108 </web-app>
web.xml

03.SpringMVC的配置