1. 程式人生 > >java Web.xml的配置

java Web.xml的配置

java Web.xml的配置

        在java工程中,web.xml用來初始化工程配置資訊,比如說welcome頁面,filter,listener,servlet,servlet-mapping,啟動載入級別等等。每一個xml檔案都有定義他書寫規範的schema檔案,web.xml所對應的xmlSchema檔案中定義了多少種標籤元素,web.xml中就可以出現它所定義的標籤元素,也就具備哪些特定的功能。web.xml的模式檔案是由Sun 公司定義的,每個web.xml檔案的根元素為<web-app>中,必須標明這個web.xml使用的是哪個模式檔案。

web.xml的根元素定義如下所示:

<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/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
	id="WebApp_ID" version="2.5">
</web-app>

1.<description>,<display-name>,<icon>

     <description>專案描述</discription>  對專案做出描述.

    <display-name>專案名稱</display-name> 定義專案的名稱.

    <icon> icon元素包含small-icon和large-icon兩個子元素.用來指定web站臺中小圖示和大圖示的路徑.

    <small-icon>/路徑/smallicon.gif</small-icon>small-icon元素應指向web站臺中某個小圖示的路徑,大小為16X 16 pixel,但是圖象檔案必須為GIF或JPEG格式,副檔名必須為:.gif或 .jpg.

   <large-icon>/路徑/largeicon-jpg</large-icon>large-icon元素應指向web站臺中某個大圖表路徑,大小為32 X 32 pixel,但是圖象檔案必須為GIF或JPEG的格式,副檔名必須為; gif 或jpg.

        <display-name>Develop Example</display-name>
	<description>JSP 2.0 Tech Book's Examples</description>
 	<icon>
		<small-icon>/images/small.gif</small-icon>
		<large-icon>/images/large.gif</large-icon>
	</icon>

2、<context-param>

<context-param>元素含有一對引數名和引數值,用作應用的servlet上下文初始化引數。引數名在整個Web應用中必須是惟一的。

context-param 元素用來設定web應用的環境引數(context),它包含兩個子元素: param-name和param-value.

        <param-name>引數名稱</param-name> 設定Context名稱

        <param-value>值</param-value> 設定Context名稱的值 </context-param>
   <context-param>  
       <param-name>param_name</param-name>  
       <param-value>param_value</param-value>  
    </context-param>  

此所設定的引數,在JSP網頁中可以使用下列方法來取得:${initParam.param_name},若在Servlet可以使用下列方法來獲得:

  Stringparam_name=getServletContext().getInitParamter("param_name");

3.<filter>

filter元素用於指定Web容器中的過濾器。

在請求和響應物件被servlet處理之前或之後,可以使用過濾器對這兩個物件進行操作。

利用下一節介紹 的filter-mapping元素,過濾器被對映到一個servlet或一個URL模式。

這個過濾器的filter元素和filter-mapping 元素必須具有相同的名稱。

    filter元素用來宣告filter的相關設定.filter元素除了下面介紹的的子元素之外,還包括之前介紹過的<icon>,<display-name>,<description>,<init-param>,其用途一樣.

    下面介紹filter-name,filter-class和init-param元素

        init-param元素與context-param 元素具有相同的元素描述符。

        filter-name元素用來定義過濾器的名稱,該名稱在整個應用中都必須是惟一的。

        filter-class元素指定過濾 器類的完全限定的名稱。

    <filter-name>Filter的名稱</filter-name> 定義Filter的名稱.

    <filter-class>Filter的類名稱</filter-class> 定義Filter的類名稱.例如:com.foo.hello

4.<filter-mapping>

      filter-mapping元素用來宣告Web應用中的過濾器對映。過濾器可被對映到一個servlet或一個URL模式。將過濾器對映到一個 servlet中會造成過濾器作用於servlet上。將過濾器對映到一個URL模式中則可以將過濾器應用於任何資源,只要該資源的URL與URL模式匹配。過濾是按照部署描述符的filter-mapping元素出現的順序執行的。

    filter-mapping 元素的兩個主要子元素filter-name和url-pattern.用來定義Filter所對應的URL。還有servlet-name和dispatcher子元素,不是很常用。

        <filter-name>Filter的名稱</filter-name>  定義Filter的名稱.

       <url-pattern>URL</url-pattern> Filter所對應的RUL.例如:<url-pattern>/Filter/Hello</url-pattern>

        <servlet-name>Servlet的名稱<servlet-name> 定義servlet的名稱.

       <dispatcher>REQUEST|INCLUDE|FORWARD|ERROR</disaptcher> 設定Filter對應的請求方式,有RQUEST,INCLUDE,FORWAR,ERROR四種,預設為REQUEST

<!-- 解決post亂碼問題的過濾器 -->
  	<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>

5.<servlet>  <servlet-mapping>

在web.xml中完成的一個最常見的任務是對servlet或JSP頁面給出名稱和定製的URL。用servlet元素分配名稱,使用servlet-mapping元素將定製的URL與剛分配的名稱相關聯

servlet-mapping元素包含兩個子元素servlet-name和url-pattern.用來定義servlet所對應URL.

        <servlet-name>Servlet的名稱</servlet-name> 定義Servlet的名稱.

        <url-pattern>ServletURL</url-pattern> 定義Servlet所對應的RUL.例如:<url-pattern>/Servlet/Hello</url-pattern>

    <servlet>
   		<servlet-name>index</servlet-name>
   		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   		<init-param>  
        	<param-name>contextConfigLocation</param-name>  
        	<param-value>/WEB-INF/index-servlet.xml</param-value>  
   		 </init-param>
   		<load-on-startup>1</load-on-startup>  
   	</servlet>
   	<servlet-mapping>  
        <servlet-name>index</servlet-name>  
        <url-pattern>/</url-pattern>  
    </servlet-mapping> 
6.<listener>

listener元素用來註冊一個監聽器類,可以在Web應用中包含該類。使用listener元素,可以收到事件什麼時候發生以及用什麼作為響應的通知。

    listener元素用來定義Listener介面,它的主要子元素為<listener-class>

        <listener>  
 		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
	</listener>
7.<session-cofing>

session-config包含一個子元素session-timeout.定義web應用中的session引數.

        <session-timeout>分鐘</session-timeout> 定義這個web應用所有session的有效期限.單位為分鐘.

     <session-config>  
       <session-timeout>20</session-timeout>  
    </session-config>  

8.<welcome-file-list>

welcome-file-list包含一個子元素welcome-file.用來定義首頁列單.

        <welcome-file>用來指定首頁檔名稱</welcome-flie>

        welcome-file用來指定首頁檔名稱.我們可以用<welcome-file>指定幾個首頁,而伺服器會依照設定的順序來找首頁.

   <welcome-file-list>
    	<welcome-file>/views/main.html</welcome-file>
    	<welcome-file>main.htm</welcome-file>
    	<welcome-file>main.jsp</welcome-file>
    </welcome-file-list>

9.<error-page>

    error-page元素包含三個子元素error-code,exception-type和location.

    將錯誤程式碼(Error Code)或異常(Exception)的種類對應到web應用資源路徑.

        <error-code>錯誤程式碼</error-code> HTTP Errorcode,例如: 404

       <exception-type>Exception</exception-type> 一個完整名稱的Java異常型別

        <location>/路徑</location>  在web應用內的相關資源路徑
     <error-page>  
       <error-code>404</error-code>  
       <location>/error404.jsp</location>  
    </error-page>  
    <error-page>  
       <exception-type>java.lang.Exception</exception-type>  
       <location>/except.jsp</location>  
    </error-page>