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

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

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

    隨筆-314  評論-209  文章-0  trackbacks-0
    本文使用的服務器是Tomcat服務器,Web應用發布描述文件web.xml是在Servlet規范中定義的。web.xml存放在WEB-INF/目錄下
        在分析web.xml文檔之前我想先說一下web.xml中根元素<web-app>各子元素的順序問題,因為在web.xml中元素定義的先后順序是不能顛倒的(除非web.xml文件中使用XML Schema,本文不做討論),否則Tomcat服務器可能拋出SAXParseException。
        順序如下:
                          <web-app>
                          <display-name>
                          <description>
                          <distributable>
                          <context-param>
                          <filter>
                          <filter-mapping>
                         <listener>
                          <servlet>
                          <servlet-mapping>
                          <session-config>
                          <mime-mapping>
                          <welcome-file-list>
                          <error-page>
                          <taglib>
                         <resource-env-ref>
                          <resource-ref>
                          <security-constraint>
                          <login-config>
                          <security-role>
                          <env-entry>
                          <ejb-ref>
                          <ejb-local-ref>
    web.xml中的開頭幾行是固定的,它定義了該文件的字符編碼,XML版本以及引用的DTD文件。
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "在web.xml中頂層元素為<web-app>,其他所有的子元素都必須定義在<web-app>內

    <display-name>元素定義這個web應用的名字,Java Web 服務器的Web管理工具將用這個名字來標志Web應用。

    <description>元素用來聲明Web應用的描述信息

    <context-param>元素用來配置外部引用的,在servlet中如果要獲得該元素中配置的值,String param-value = getServletContext().getInitParameter("param-name")

    <filter>
            <filter-name>SampleFilter</filter-name>
            <filter-class>com.lpdev.SampleFilter</filter-class>
    </filter>
    <filter-mapping>
            <filter-name>SampleFilter</filter-name>
            <url-pattern>*.jsp</url-pattern>
    </filter-mapping>
    以上是配置了一個servlet過濾器,對于servlet容器收到的客戶請求以及發出的響應結果,servlet都能檢查和修改其中的信息,以上代碼指名當客戶請求訪問Web應用中的所有JSP文件時,將觸發SampleFilter過濾器工作,具體的過濾事務在由<filter-class>中指定的類來完成

     <servlet>
      <servlet-name>IncludeServlet</servlet-name>
      <servlet-class>com.lpdev.IncludeServlet</servlet-class>
      
      <init-param>
         <param-name>copyright</param-name>
         <param-value>/foot.jspf</param-value>
         <load-on-startup>1</load-on-startup>
      </init-param>
     </servlet>
    配置Servlet,<servlet-name>是servlet的名字,<servlet-class>是實現這個Servlet的類,<init-param>定義Servlet的初始化參數(參數名和參數值),一個Servlet可以有多個<init-param>,在Servlet類中通過getInitParameter(String name)方法訪問初始化參數

     <servlet-mapping>
      <servlet-name>IncludeServlet</servlet-name>
      <url-pattern>/IncludeServlet</url-pattern>
     </servlet-mapping>
    配置Servlet映射,<servlet-mapping>元素用來設定客戶訪問某個Servlet的URL,這里只需給出對于整個web應用的相對的URL路徑,<url-pattern>中的“/”表示開始于Web應用的根目錄例如,如果你在你本地機器上使用Tomcat4.1.x,并且創建了名為“myapp”的應用程序,<url-pattern>/IncludeServlet</url-pattern>該Servlet的完整web地址就是
    http://localhost:8080/myapp/IncludeServlet

    <session-config>元素用來設定HttpSession的生命周期,該元素只有一個<session-timeout>屬性,時間單位是“秒”。

    <welcome-file-list>當用戶訪問web時,如果僅僅給出web應用的Root URL,沒有指定具體文件名,容器調用該配置,該元素可以包含多個<welcome-file>屬性。

    <taglib>元素用來設置web引用的tag library,例示定義了一個“/mytaglib”標簽庫,它對應的tld文件為:/WEB_INF/mytaglib.tld
    <taglib>
        <taglib-url>/mytaglib</taglib-url>
        <taglib-locationg>/WEB-INF/mytaglib.tld</taglib-location>
    </taglib>

    <resource-ref>如果web應用由Servlet容器管理的某個JNDI Resource,必須在web.xml中聲明對這個JNDI Resource的引用。
    <resource-ref>
        <description>DB Connection</description> //說明
        <res-ref-name>jdbc/sampleDB</res-ref-name> //引用資源的JNDI名字
        <res-type>javax.sql.DataSource</res-type> //引用資源的類名字
        <res-auth>Container</res-auth> //管理引用資源的Manager
    </resource-ref>

    <security-constraint>用來為Web應用定義安全約束
     <security-constraint>
        <web-resource-collection>//聲明受保護的web資源
           <web-resource-name>ResourceServlet</web-resource-name>//標識受保護web資源
           <url-pattern>/ResourceServlet</url-pattern>//指定受保護的URL路徑
           <http-method>GET</http-method>//指定受保護的方法
           <http-method>POST</http-method>
        </web-resource-collection>
        <auth-constraint>//可以訪問受保護資源的角色
           <description>this applies only to admin secrity role</description>
           <role-name>admin</role-name>
        </auth-constraint>
        <user-data-constraint>
           <transport-guarantee>NONE</transport-guarantee>
        </user-data-constraint>
     </security-constraint>

    <login-config>元素指定當Web客戶訪問受保護資源時,系統彈出的登陸對話框的類型。例示配置了基于表單驗證的登陸界面
    <login-config>
        <auth-method>FORM</auth-method>//BASIC(基本驗證法),DIGEST(摘要驗證),FORM(表單驗證)
        <real-name>設定安全域的名稱</realname>
        <form-login-config>
            <form-login-page>/login.jsp</form-login-page>
            <form-error-page>/error.jsp</form-error-page>
        </form-login-config>

    <security-role>指明這個Web應用引用的所有角色名字
    <security-role>
        <description>描述</description>
        <role-name>admin</role-name>
    </security-role>

    posted on 2006-08-10 15:10 xzc 閱讀(2404) 評論(0)  編輯  收藏 所屬分類: Web
    主站蜘蛛池模板: 香蕉97碰碰视频免费| 一级成人a做片免费| 久久久久久国产精品免费无码| 国产精品亚洲美女久久久 | 国内精自视频品线六区免费| 婷婷精品国产亚洲AV麻豆不片| 永久免费AV无码网站国产| 亚洲精品国精品久久99热一| 久久久久久久久久免免费精品| 日韩精品亚洲aⅴ在线影院| 在线观看免费无码视频| 亚洲AV无码成人精品区天堂| 免费国产污网站在线观看15| 久久精品亚洲一区二区三区浴池| 99久久综合精品免费| 亚洲另类春色校园小说| 蜜臀91精品国产免费观看 | 亚洲国产中文在线视频| 国产片AV片永久免费观看| 亚洲熟妇无码av另类vr影视| 国产又粗又猛又爽又黄的免费视频 | 日本免费网站视频www区| 亚洲精品456人成在线| 国产成人无码免费视频97 | 久久久久亚洲国产AV麻豆| 亚洲成人影院在线观看| 中文字幕无线码免费人妻| 中文字幕亚洲第一在线| 四虎成人免费大片在线| 又黄又大的激情视频在线观看免费视频社区在线 | 可以免费观看一级毛片黄a| 国产A∨免费精品视频| 亚洲高清在线mv| 成年性羞羞视频免费观看无限| 免费播放国产性色生活片| 人人狠狠综合久久亚洲婷婷| 在线观看无码AV网站永久免费| 一级特黄aaa大片免费看| 久久久久亚洲精品无码蜜桃| 国产色爽女小说免费看| 女人体1963午夜免费视频|