`

祥解WEB应用的部署文件web.xml

    博客分类:
  • Web
阅读更多
本文使用的服务器是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" "http://java.sun.com/dtd/web-app_2_3.dtd">

在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>

分享到:
评论

相关推荐

    labview VI简易密码解密方法.rar

    labview密码怎么解开l

    Solidworks 2008 入门教程

    SolidWorks . . . . . . . . . .... .... .... .... .... ....3D .... .... .... ...."....SolidWorks # $%...."&'()*.... +, .... -..../,....01 .... 2 ....34 ....567 ....89. ....&lt;....=&gt;,....A....SolidWorks BC.... D....EFG .... -....HIJKLM &lt;89....NJKOPQ &lt; ....

    中兴项目组-XXX-转正申请表(1).doc

    中兴项ç®ç»-XXX-转正ç³è¯·è¡¨(1).doc

    多媒体教室配置方案.pdf

    ¶ ……˚ı£ ˆß˚ æ´¸˝ł£¤ ˙"£ˆ˚ ´¸˝ł£'£ «´ ……˚ı£ ˇ ¡"˙ »œØ 9. ˛—¯"¯˚–£ ¶ »œ , ˜˘`˜£˚ £» 10. § ˝ ˘ ¯˘»¥¶ ˜£¿Ø£ ¶ 4 »–˚˝

    C课程设计 交通咨询

    ÓɳÂÓ£¬Âí±ó£¬»ª³É£¬Ìïê¿»Ô£¬ÍõÑó£¬ÕÅÒæç⣬¶ÅæÂ棬·ëºì࣬ÀîÄ꣬ÁõÀö¾ê¿ª·¢£» ¿ª·¢Ê±¼äÊÇ2003.10¡ª¡ª2003.12£...

    自动车初步代码

    ³¬Éù²¨Õ¼Óö˿ڣºPC13(·¢Ë͸ߵçƽ) PA4(ÊäÈ벶»ñ) ¶æ»úÊä³ö¶Ë¿Ú£ºPC9,PC8 ; Õ¼Óö¨Ê±Æ÷ TIM3 CH3, TIM3 CH4. I2cÕ¼Óö˿ڣº IIC_SCL: PB6...

    开关电源电磁兼容设计

    开关电源电磁兼容设计 º½éÉÜÁËμ¥Æ¬¿ª¹ØμçÔ´μÄμç´Å¼æÈÝÐÔ£¨.5B£©Éè¼Æ£¬ÄÚÈÝ°üÀ¨¶Ôμç´Å¸ÉÈŲ¨ÐκÍμç·ģÐͽø ÐзÖÎö£¬ÒÔ¼° ...

    基于PLC的模糊控制新算法

    ÈçÉÏËùÊö£¬¼òµ¥µÄÄ£ºý²é±í·¨ËäÈ»·½±ãÒ×Ó㬵«ÓÉ ÓÚÆä×ÔÊÊÓ¦ÄÜÁ¦½Ï²î£¬ËùÒÔÁ¼ºÃµÄÐÔÄܵò»µ½³ä·Ö·¢ »Ó¡£ÎªÁË...

    基于51单片机的密码锁

    //¶¨Òå°´¼üɨÃèÂë±í£¬°´¼üɨÃèʱ£¬4λÁÐÏߺÍ4λÐÐÏß×é³É×Ö½ÚÊý¾Ý±í uchar code KEYCODE[] = {0XEE,0XDE,0XBE,0X7E, // 0 1 2 3 0XED,0XDD,0XBD,0X...

    A级机房设计方案.pdf

    1 A …¶»œ ¿Ł…˘ 2 ˜¿ ´… 1 ´ »œ ¿—... Ł…˘ƒæ ˜ ¶£¤ A …¶£'. .............................................. 3 4. »œ ¿ ¤Ł "˙£¤ A …¶£'. ...................................

    CDH5.X Centos安装手册

    Cloudera ÆóÒµ¼¶Êý¾ÝÖÐÐĵݲװÖ÷Òª·ÖΪ4 ¸ö²½Ö裺 1. ¼¯Èº·þÎñÆ÷ÅäÖ㬰üÀ¨°²×°²Ù×÷ϵͳ¡¢¹Ø±Õ·À»ðǽ¡¢Í¬²½·þÎñÆ÷...

    码垛机设计方案.pdf

    ´º¶»œŁ…˘ £¤»£' »£" ˇ˝ ¯˚ ¶ «¸ œ˘ ¡¢ ¡˜ ˛£ ……˚ı—Ł˙¡¢ –Œ˜ˇŒˇ —¿"˝ £ ˛" `¸ ´œª ˆ……˚ı"˙£ ¶– ˛ˆ˙ ˆ ˝…¸ø˚˜»œ˘¨¸´º¶ˇ˝ ¡£ »...

    网络安全知识测试题(2).pdf

    ˚`ˇ˚… ˝ł´£ ¨—˙¨¤ ˙º`"ˇ˝ł » '§ˇº »` ˝ł´ ¨«"˚¶ ˚ —ˆß ˆ »¡¢¥ˇ¡æ£¤ˆ¿ 1 £ 50 £ …˘ 50 £' 1¡¢ˇ´ …˘¸ª»œ ¡¶˜¸ ¤¨ ˜˚˙£" £¤ £'¡£ A....

    校园网络综合布线系统方案设计.pdf

    ª ª ¶« ¶«˚ ˚ Ø Ø — —§ § — ——£ —£ ˙ł ˙ł —£ —£ ˝ł ˝ł ´ ´ "ˇ "ˇ … … ˇ ˇ ˇ ˇ ˝ ˝ ¡… « … ¡ ¶ ¡ ¡ ¨ ˜Œ ˚ ´ ª ¶«˚ Ø —§ ——£ ˙ł —£ ˝ł ´...

    Java药店管理系统设计报告剖析.pdf

    »ø–"˙ ¿· £"¤'˘ ¨º¿¡¢ ¿ £ '˘ ¿·–¤ £ '˘ ——§˘ £¤ ˘ –¤ £'¡£ ˇœ˚ £" ø˚…˚ˇœ˚¶ œ ˇœ˚¥¡£¨ ß˚˙»Æ–£ '˘ … æ· 95 …˘¸ª¡£ Ø …˝ …˘ ƒ˜£...

    算法调研报告.pdf

    —´¡£ ˝˘…¶ˇ˜ˆŁ˚˛˜…—˜¶ˇ"˝ˆ»§˜ˆŁ˚˛˜…—˜—¸¨ ˘«"ˆ ł——˝˘… …˘¸ª£ »æˆ˝˘…¶ˇ˜˝˘…¶¨£ ¸ø˝˘…¶ˇ˜ˆŁ˚˛˜…ºˆ»§˜ˆŁ˚˛˜…ˆ˙— ˇ £...

    淘宝网调研报告.pdf

    ¶˜´……–ª˜¸¸ ¸ø" "´˜ œ˘ £ ˚ˇº»ˇ´£ ¸–ª¸¸» »` ˘ …·˚£ ·ˇ˝ı`… ˝ ˘ £ ˜ª¨ˆ´…ıˆ·»£ ¿˜ `¸˝ »–ƒ´`¸£ ˝ »˘ £ ˝ ø˜˝…˘ £ ˝ ø˜¸ˆ£ … ...

    浅谈网络安全保密技术.pdf

    ¡£¸ ¯ »Æ ˜ »¶ˇ ¢ £ —¯ ˇ¢ » ¶¨ · £ ˘ ˚´ ¥ ˛»"˝ ¿ˆ¯ ¶ ˝ł ´ "˝ ¶¸ ˜ —" ˙¿ ¡£ ¶ ˜˙ —' ¶¸ ˚ `¿ ¶ ¡¢ ¨¸ – ˜ £ ˝ »Æ `ƒ »· —˜˘£ ƒ ¶ £ ...

    银行网点调研报告.pdf

    ł——˝łª—–¤ – ˆ`¸ ł——£ —ł——¨` …ł——"˝–ł——˜` ˝łª£ ˝¤ ¶˝łª …£ ˛æ£ œ˘ … ˜˚¿… £ ·˛—£ ˚˙˛»·˛`¸ ˝łªł——¡£ ˙¶˝łªł——˜ ¨ˇ˚¶ ˝...

    计算机应用基础说课稿.pdf

    ˛˜»¯¯¡£˝¤ ˙ˆ˜¨˜ §ˇ£ §œ ı – WORD ˛˜ æ˚ ˜˜`ƒ£ – ˜¨˜§ˇ£ ˚˙ —»ø·¡ˇ˜» Æ £ "˚¶˜"ˇƒˆ¡"¡"˝…˛˜»¯¯£ ˛""ˆ– æ¡¢ – æ¡¢»ˆ˘˘ ¨˜¨˜§ˇ...

Global site tag (gtag.js) - Google Analytics