【原創】Web.xml簡介

阿-甘發表於2008-09-02

  在Servlet規範中定義了web.xml檔案,它是Web應用的配置檔案,Web.xml檔案是和Web容器無關的。通過Web.xml檔案可以配置Servlet類和url的對映、歡迎列表、過濾器以及安全約束條件等。

  回頭看一下HelloKittyJsp 和HelloKittyServlet的例子,為什麼在HelloKittyJsp頁面中Form的action為HelloKittyServlet,而Web容器會執行HelloKittyServlet類呢?它們之間的關係是通過名字進行對映的嗎?其實不是,也就是說action的值可以為任何符合規範的字串。把WEB頁面Form中的action指定到具體的Servlet響應類是通過Web.xml檔案進行配置的。

  例如HelloKittyJsp 和HelloKittyServlet的例子,在Web.xml檔案中加入如下的URL(WEB頁面Form中Action指定的其實是一個URL)到Servlet的對映關係,如下程式碼所示。

  web.xml

/FONT>

  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

  "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

   

   

        HelloKittyServlet

        com.free.servlet.HelloKittyServlet

   

 

   

        HelloKittyServlet

        /HelloKittyServlet

   

   

   

  元素定義內容為URL(url-pattern)到Servlet名字(servlet-name)的對映關係,元素定義內容為Servlet名字(servlet-name)到Servlet實現類(servlet-class)的對映關係。通過這種方式,Form中的Action(即響應的URL)就可以對映到具體的Servlet類了。

  Web.xml檔案是一個XML檔案,開頭幾行往往是固定的,它定義了該檔案的字元編碼、XML的版本以及作為驗證的DTD檔案。Web.xml中的頂層元素為,其它所有的子元素都必須定義在內。

  Web.xml檔案中的元素不僅是大小寫敏感的,而且它還對出現在其中元素的次序敏感。例如,XML頭必須是檔案中的第一項,DOCTYPE宣告必須是第二項,而元素必須是第三項。在元素內,元素的次序也很重要。伺服器不一定強制要求這種次序,但它可能(實際上有些伺服器就是這樣做的)拒絕執行含有次序不正確的元素的Web應用。這表示使用非標準元素次序的web.xml檔案是不可移植的。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13081368/viewspace-440439/,如需轉載,請註明出處,否則將追究法律責任。

相關文章