Spring MVC web.xml配置檔案
阿新 • • 發佈:2018-11-04
<!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可以獨立使用