1. 程式人生 > >Spring MVC web.xml配置檔案

Spring MVC web.xml配置檔案

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>

    <!--如果在web.xml中不寫任何引數配置資訊,預設的路徑是"/WEB-INF/applicationContext.xml,
    在WEB-INF目錄下建立的xml檔案的名稱必須是applicationContext.xml。
    如果是要自定義檔名可以在web.xml里加入contextConfigLocation這個context引數:
    在<param-value> </param-value>裡指定相應的xml檔名,如果有多個xml檔案,可以寫在一起並以“,”號分隔。
    也可以這樣applicationContext-*.xml採用萬用字元,比如這那個目錄下有applicationContext-ibatis-base.xml,
    applicationContext-action.xml,applicationContext-ibatis-dao.xml等檔案,都會一同被載入。
    在ContextLoaderListener中關聯了ContextLoader這個類,所以整個載入配置過程由ContextLoader來完成。-->
<!--部署spring的applicationContext的xml檔案--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/applicationContext.xml</param-value> </context-param> <!-- 編碼過濾器 --> <filter>
<filter-name>characterEncodingFilter</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>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>dispatcher</servlet-name><!--在DispatcherServlet的初始化過程中,框架會在web應用的 WEB-INF資料夾下尋找名為[servlet-name]-servlet.xml 的配置檔案,生成檔案中定義的bean。--> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--指明瞭配置檔案的檔名,不使用預設配置檔名,而使用dispatcher-servlet.xml配置檔案。--> <init-param> <param-name>contextConfigLocation</param-name> <!--其中<param-value>**.xml</param-value> 這裡可以使用多種寫法--> <!--1、不寫,使用預設值:/WEB-INF/<servlet-name>-servlet.xml--> <!--2、<param-value>/WEB-INF/classes/dispatcher-servlet.xml</param-value>--> <!--3、<param-value>classpath*:dispatcher-servlet.xml</param-value>--> <!--4、多個值用逗號分隔--> <param-value>classpath:springmvc/dispatcher-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup><!--是啟動順序,讓這個Servlet隨Servletp容器一起啟動。--> </servlet> <servlet-mapping> <!--這個Servlet的名字是dispatcher,可以有多個DispatcherServlet,是通過名字來區分的。每一個DispatcherServlet有自己的WebApplicationContext上下文物件。同時儲存的ServletContext中和Request物件中.--> <!--ApplicationContext是Spring的核心,Context我們通常解釋為上下文環境,我想用“容器”來表述它更容易理解一些,ApplicationContext則是“應用的容器”了:P,Spring把Bean放在這個容器中,在需要的時候,用getBean方法取出--> <servlet-name>dispatcher</servlet-name> <!--Servlet攔截匹配規則可以自已定義,當對映為@RequestMapping("/user/add")時,為例,攔截哪種URL合適?--> <!--1、攔截*.do、*.htm, 例如:/user/add.do,這是最傳統的方式,最簡單也最實用。不會導致靜態檔案(jpg,js,css)被攔截。--> <!--2、攔截/,例如:/user/add,可以實現現在很流行的REST風格。很多網際網路型別的應用很喜歡這種風格的URL。弊端:會導致靜態檔案(jpg,js,css)被攔截後不能正常顯示。 --> <url-pattern>/</url-pattern> <!--會攔截URL中帶“/”的請求。--> </servlet-mapping> </web-app>

<Servlet>…dispatcher 這個必須有
spring的<listener>以及其引數可以不配置
即:<Servlet>…dispather可以獨立使用