<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 閱讀(2414) 評論(0)  編輯  收藏 所屬分類: Web
    主站蜘蛛池模板: 国产精品视频全国免费观看| 亚洲线精品一区二区三区影音先锋| 亚洲&#228;v永久无码精品天堂久久| 亚洲国产美女精品久久| 色播在线永久免费视频网站| 久久亚洲中文字幕精品一区四| 羞羞视频在线观看免费| 成年丰满熟妇午夜免费视频| 亚洲午夜电影在线观看| 2015日韩永久免费视频播放| 亚洲视频在线免费播放| 亚洲一区二区三区免费在线观看| 91亚洲va在线天线va天堂va国产| 成人免费无码大片a毛片软件| 一级毛片免费不卡| 亚洲午夜久久久久久噜噜噜| 亚洲一区在线免费观看| 色哟哟国产精品免费观看| 亚洲精品视频免费在线观看| aa级一级天堂片免费观看| 亚洲色精品VR一区区三区| 女人让男人免费桶爽30分钟| 亚洲精品国产第一综合99久久 | 一个人看的免费观看日本视频www| 亚洲av无码一区二区三区不卡| 亚洲视频免费在线观看| 亚洲人成影院午夜网站| 亚洲熟女一区二区三区| 免费鲁丝片一级在线观看| 免费无码国产V片在线观看| 亚洲中文字幕无码不卡电影| 一区二区三区观看免费中文视频在线播放 | 亚洲国产精品99久久久久久| 亚洲精品无码MV在线观看| 91成人在线免费观看| 亚洲日日做天天做日日谢| 亚洲AV无码一区二区二三区入口 | 无码av免费毛片一区二区| 亚洲国产精华液2020| 久久综合亚洲色一区二区三区| 国产亚洲精品无码拍拍拍色欲|