<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    憨厚生

    ----Java's Slave----
    ***Java's Host***

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      165 隨筆 :: 17 文章 :: 90 評論 :: 0 Trackbacks
    轉 http://blog.csdn.net/fenglibing/archive/2009/03/19/4005441.aspx

    轉自http://elevenet.javaeye.com/blog/67862

    這篇文章還是不錯的,有些老,有些地址還是直接翻譯的。不是很準確。

    關鍵字: J2EE

    1 定義頭和根元素

    部署描述符文件就像所有XML文件一樣,必須以一個XML頭開始。這個頭聲明可以使用的XML版本并給出文件的字符編碼。
    DOCYTPE聲明必須立即出現在此頭之后。這個聲明告訴服務器適用的servlet規范的版本(如2.2或2.3)并指定管理此文件其余部分內容的語法的DTD(Document Type Definition,文檔類型定義)。
    所有部署描述符文件的頂層(根)元素為web-app。請注意,XML元素不像HTML,他們是大小寫敏感的。因此,web-App和WEB-APP都是不合法的,web-app必須用小寫。

    2 部署描述符文件內的元素次序

    XML 元素不僅是大小寫敏感的,而且它們還對出現在其他元素中的次序敏感。例如,XML頭必須是文件中的第一項,DOCTYPE聲明必須是第二項,而web- app元素必須是第三項。在web-app元素內,元素的次序也很重要。服務器不一定強制要求這種次序,但它們允許(實際上有些服務器就是這樣做的)完全 拒絕執行含有次序不正確的元素的Web應用。這表示使用非標準元素次序的web.xml文件是不可移植的。
    下面的列表給出了所有可直接出現在web-app元素內的合法元素所必需的次序。例如,此列表說明servlet元素必須出現在所有servlet-mapping元素之前。請注意,所有這些元素都是可選的。因此,可以省略掉某一元素,但不能把它放于不正確的位置。
    l icon                          icon 元素指出IDE和GUI工具用來表示Web應用的一個和兩個圖像文件的位置。
    l display-name           display-name元素提供GUI工具可能會用來標記這個特定的Web應用的一個名稱。
    l description               description元素給出與此有關的說明性文本。
    l context-param          context-param元素聲明應用范圍內的初始化參數。
    l filter                         過濾器元素將一個名字與一個實現javax.servlet.Filter接口的類相關聯。
    l filter-mapping          一旦命名了一個過濾器,就要利用filter-mapping元素把它與一個或多個servlet或JSP 頁面相關聯。
    l listener                    servlet API的版本2.3增加了對事件監聽程序的支持,事件監聽程序在建立、修改和刪除會話或servlet環境時得到通知。Listener元素指出事件監聽程序類。
    l servlet                    在向servlet或JSP頁面制定初始化參數或定制URL時,必須首先命名servlet或JSP頁面。Servlet元素就是用來完成此項任務的。
    l servlet-mapping      服務器一般為servlet提供一個缺省的URL:http://host/webAppPrefix/servlet/ServletName。但是,常常會更改這個URL,以便servlet可以訪問初始化參數或更容易地處理相對URL。在更改缺省URL時,使用servlet-mapping元素。
    l session-config         如果某個會話在一定時間內未被訪問,服務器可以拋棄它以節省內存。可通過使用HttpSession的setMaxInactiveInterval方法 明確設置單個會話對象的超時值,或者可利用session-config元素制定缺省超時值。
    l mime-mapping         如果Web應用具有想到特殊的文件,希望能保證給他們分配特定的MIME類型,則mime-mapping元素提供這種保證。
    l welcom-file-list         welcome-file-list元素指示服務器在收到引用一個目錄名而不是文件名的URL時,使用哪個文件。
    l error-page               error-page元素使得在返回特定HTTP狀態代碼時,或者特定類型的異常被拋出時,能夠制定將要顯示的頁面。
    l taglib                        taglib元素對標記庫描述符文件(Tag Libraryu Descriptor file)指定別名。此功能使你能夠更改TLD文件的位置,而不用編輯使用這些文件的JSP頁面。
    l resource-env-ref      resource-env-ref元素聲明與資源相關的一個管理對象。
    l resource-ref             resource-ref元素聲明一個資源工廠使用的外部資源。
    l security-constraint    security-constraint元素制定應該保護的URL。它與login-config元素聯合使用
    l login-config 用login-config元素來指定服務器應該怎樣給試圖訪問受保護頁面的用戶授權。它與sercurity-constraint元素聯合使用。
    l security-role              security-role元素給出安全角色的一個列表,這些角色將出現在servlet元素內的security-role-ref元素的role- name子元素中。分別地聲明角色可使高級IDE處理安全信息更為容易。
    l env-entry                  env-entry元素聲明Web應用的環境項。
    l ejb-ref                      ejb-ref元素聲明一個EJB的主目錄的引用。
    l ejb-local-ref              ejb-local-ref元素聲明一個EJB的本地主目錄的應用。

    3 分配名稱和定制的UL

    在web.xml中完成的一個最常見的任務是對servlet或JSP頁面給出名稱和定制的URL。用servlet元素分配名稱,使用servlet-mapping元素將定制的URL與剛分配的名稱相關聯。
    3.1 分配名稱
    為 了提供初始化參數,對servlet或JSP頁面定義一個定制URL或分配一個安全角色,必須首先給servlet或JSP頁面一個名稱。可通過 servlet元素分配一個名稱。最常見的格式包括servlet-name和servlet-class子元素(在web-app元素內),如下所示:
    Java代碼
    1. <servlet>   
    2. <servlet-name>Test</servlet-name>   
    3. <servlet-class>moreservlets.TestServlet</servlet-class>   
    4. </servlet>   
    這 表示位于WEB-INF/classes/moreservlets/TestServlet的servlet已經得到了注冊名Test。給 servlet一個名稱具有兩個主要的含義。首先,初始化參數、定制的URL模式以及其他定制通過此注冊名而不是類名引用此servlet。其次,可在 URL而不是類名中使用此名稱。因此,利用剛才給出的定義,URL http://host/webAppPrefix/servlet/Test 可用于 http://host/webAppPrefix/servlet/moreservlets.TestServlet 的場所。
    請 記住:XML元素不僅是大小寫敏感的,而且定義它們的次序也很重要。例如,web-app元素內所有servlet元素必須位于所有servlet- mapping元素(下一小節介紹)之前,而且還要位于5.6節和5.11節討論的與過濾器或文檔相關的元素(如果有的話)之前。類似地,servlet 的servlet-name子元素也必須出現在servlet-class之前。5.2節"部署描述符文件內的元素次序"將詳細介紹這種必需的次序。
    例 如,程序清單5-1給出了一個名為TestServlet的簡單servlet,它駐留在moreservlets程序包中。因為此servlet是扎根 在一個名為deployDemo的目錄中的Web應用的組成部分,所以TestServlet.class放在deployDemo/WEB- INF/classes/moreservlets中。程序清單5-2給出將放置在deployDemo/WEB-INF/內的web.xml文件的一部 分。此web.xml文件使用servlet-name和servlet-class元素將名稱Test與TestServlet.class相關聯。圖 5-1和圖5-2分別顯示利用缺省URL和注冊名調用TestServlet時的結果。

    程序清單5-1 TestServlet.java
    Java代碼
    1. package moreservlets;   
    2.   
    3. import java.io.*;   
    4. import javax.servlet.*;   
    5. import javax.servlet.http.*;   
    6.   
    7. /** Simple servlet used to illustrate servlet naming
    8. * and custom URLs.
    9. * <P>
    10. * Taken from More Servlets and JavaServer Pages
    11. * from Prentice Hall and Sun Microsystems Press,
    12. * http://www.moreservlets.com/.
    13. * © 2002 Marty Hall; may be freely used or adapted.
    14. */  
    15.   
    16. public class TestServlet extends HttpServlet {   
    17. public void doGet(HttpServletRequest request,   
    18. HttpServletResponse response)   
    19. throws ServletException, IOException {   
    20. response.setContentType("text/html");   
    21. PrintWriter out = response.getWriter();   
    22. String uri = request.getRequestURI();   
    23. out.println(ServletUtilities.headWithTitle("Test Servlet") +   
    24. "<BODY BGCOLOR=\"#FDF5E6\">\n" +   
    25. "<H2>URI: " + uri + "</H2>\n" +   
    26. "</BODY></HTML>");   
    27. }   
    28. }  

    程序清單5-2 web.xml(說明servlet名稱的摘錄)
    Java代碼
    1. <?xml version="1.0" encoding="ISO-8859-1"?>   
    2. <!DOCTYPE web-app   
    3. PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"  
    4. "http://java.sun.com/dtd/web-app_2_3.dtd">   
    5.   
    6. <web-app>   
    7. <!-- … -->   
    8. <servlet>   
    9. <servlet-name>Test</servlet-name>   
    10. <servlet-class>moreservlets.TestServlet</servlet-class>   
    11. </servlet>   
    12. <!-- … -->   
    13. </web-app>  


    posted on 2009-04-24 17:13 二胡 閱讀(320) 評論(0)  編輯  收藏 所屬分類: Javajspweb系統開發
    主站蜘蛛池模板: 本免费AV无码专区一区| 亚洲国产精品无码成人片久久| 日本免费中文字幕| 学生妹亚洲一区二区| 亚洲妇女水蜜桃av网网站| 日韩亚洲精品福利| 2021精品国产品免费观看| 亚洲爆乳无码一区二区三区| 一出一进一爽一粗一大视频免费的 | 亚洲免费一级视频| 久久久亚洲欧洲日产国码是AV| 日韩精品内射视频免费观看| 久久亚洲AV成人无码电影| 国产成人免费在线| 国产中文字幕免费| 无套内谢孕妇毛片免费看看| 亚洲免费中文字幕| 亚洲国产AV一区二区三区四区| 日韩免费视频播播| 9久热这里只有精品免费| 成年女人永久免费观看片| 亚洲欧洲精品在线| 亚洲入口无毒网址你懂的| 亚洲免费人成在线视频观看| 亚洲日本va午夜中文字幕一区| 日韩精品免费一级视频| 亚洲av无码一区二区三区网站| 一区二区免费视频| 亚洲国产欧美日韩精品一区二区三区 | 亚洲色图综合网站| 国产不卡免费视频| 操美女视频免费网站| 激情无码亚洲一区二区三区| 亚洲а∨天堂久久精品| 日本免费中文字幕| 亚洲国产成人久久综合| av在线亚洲欧洲日产一区二区| 97av免费视频| 中文字幕亚洲精品| 国产精品jizz在线观看免费| 亚洲日本天堂在线|