• 16.部署描述符文件


    1.部署描述符文件的作用:

        部署描述符文件:  

    web.xml叫做部署描述符文件
    是在Servlet规范中定义的,是web应用的配置文件。
    作用:
    描述了容器运行程序所需要的信息,提供站点的配置设定

    web.xml文件是XML文档
    必须以XML声明开头,指出XML版本及字符编码
    顶层(根)元素为<web-app>,元素名大小写敏感
    web-App和WEB-APP都是不合法的,web-app必须用小写

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
    </web-app>

    web.xml文件是XML文档
    必须以XML声明开头,指出XML版本及字符编码
    顶层(根)元素为<web-app>,元素名大小写敏感
    各元素对出现在其他元素中的次序敏感
    可省略某些可选元素,但不能将其放在不正确的位置

    xsd文档的作用是定义XML文档的合法构建模块,类似 dtd
    学习XML Schema(.xsd)教程
    http://www.w3school.com.cn/schema/index.asp
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd

    元素

    含义

    icon

    指出IDE和GUI工具可用来代表Web应用的一个和两个图像文件的位置。

    display-name

    display-name 元素提供GUI工具可能会用来标记这个特定应用的一个名称。

    description

    提供关于 Web 应用程序的描述性文本。

    context-param

    用来设定web应用的环境参数。

    filter

    过滤器元素将一个名字与一个实现javax.servlet.Filter接口的类相关联。

    filter-mapping

    一但命名了一个过滤器,就利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联。

    listener

    指出事件监听程序类

    servlet

    servlet元素用于声明一个servlet

    servlet-mapping

    servlet-mapping定义了servlet和URL模式之间的映射

    元素

    含义

    icon

    指出IDE和GUI工具可用来代表Web应用的一个和两个图像文件的位置。

    display-name

    display-name 元素提供GUI工具可能会用来标记这个特定应用的一个名称。

    description

    提供关于 Web 应用程序的描述性文本。

    context-param

    用来设定web应用的环境参数。

    filter

    过滤器元素将一个名字与一个实现javax.servlet.Filter接口的类相关联。

    filter-mapping

    一但命名了一个过滤器,就利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联。

    listener

    指出事件监听程序类

    servlet

    servlet元素用于声明一个servlet

    servlet-mapping

    servlet-mapping定义了servlet和URL模式之间的映射

    元素

    含义

    resource-ref

    包含了部署组件对外部资源的引用声明

    resource-env-ref

    包含了部署组件和对部署组件环境中的资源有关的管理对象的引用

    distributable

    支持集群的服务器可安全的在多个服务器上分布Web应用

    env-entry

    声明了一个应用程序的环境入口

    ejb-ref

    声明了一个对企业bean的home引用

    ejb-local-ref

    声明了对企业bean的本地home引用

    2.常用元素的声明与配置

       icon 

    <icon>
       <small-icon>/images/small.gif</small-icon>
       <large-icon>/images/large.gif</large-icon>
    </icon>

    包含small-icon和large-icon元素,为大型和小型GIF或JPEG图标图片指定文件名
    用于在GUI工具中表示父元素。

    display-name:

    <display-name>myFirstApp</display-name>

    定义应用的名称。

    description

    <description>测试应用V1.0</description>

    对应用做出描述。

    context-param

    <context-param>
        <param-name>param_name</param-name>
        <param-value> param_value</param-value>
    </context-param>

    context-param 应用范围内初始化参数
    <param-name>参数名称</param-name>
    <param-value>值</param-value>

    filter

    声明了Web应用程序中的过滤器
    filter-name元素是过滤器的逻辑名称。
    filter-class是过滤器的完全限定类名。
    init-param元素包含的名-值对作为此过滤器的初始化参数。
    当指定可选的async-supported元素时,表示该过滤器支持异步请求处理。

    <filter>
        <filter-name>authorizefilter</filter-name>
        <filter-class>onest.web.filter.AuthorizeFilter</filter-class>
    </filter>

    filter-mapping

    listener

    servlet

    servlet元素用于声明一个servlet
    jsp-file元素命名JSP页面,包含到以“/”开头的Web应用程序中一个JSP文件的完全路径。
    所指的JSP文件可存放于WEB-INF目录
    servlet-name元素包含了servlet的规范名称。
    servlet-class包含了servlet的完全限定类名。
    load-on-startup元素表示该servlet应该在Web应用程序启动时加载。

     servlet-mapping

    session-config

    控制会话超时
    如果某个会话在一定的时间内未被访问,服务器可以把它扔掉以节约内存。
    session-config和session-timeout元素给出一个适用于所有服务器的明确的超时期
    session-timeout元素的值的单位为分钟

     mime-mapping

    关联文件与MIME类型
    服务器一般都具有一种让Web站点管理员将文件扩展名与媒体相关联的方法。如:
    自动给予名为mom.jpg的文件一个image/jpeg的MIME类型
    如果希望将特殊的文件发送到客户机时分配为某种MIME类型,使用mime-mepping元素

    <mime-mapping>
        <extension>foo</extension>
        <mime-type>application/x-fubar</mime-type>
    </mime-mapping>

    welcome-file-list

    error-page

    jsp-config

    提供安全性:

    利用web.xml中相关元素为服务器内建功能提供安全性:
    指定验证的方法:<login-config>
    限制对web资源的访问: <security-constraint>
    分配角色名:<security-role>

    配置认证方法
    auth-method为Web应用程序配置认证机制
    该元素的内容必须是BASIC、DIGEST、FORM、CLIENT-CERT、或提供商指定的认证模式
    realm-name表示为Web应用程序选择用于认证模式的领域名。
    form-login-config指定应该用于基于表单登录的登录和错误页面

    3.JavaEE元素

    <distributable/>:支持集群的服务器可安全的在多个服务器上分布Web应用

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
    <distributable/>
    </web-app>


    <resource-env-ref>:声明一个与某个资源有关的管理对象

    <resource-env-ref>  
           <resource-env-ref-name>jdbc/mssql</resource-env-ref-name>  
          <resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type>  
     </resource-env-ref> 


    <resource-ref>:声明一个资源引用

    <resource-ref>
       <description>JNDI JDBC DataSource</description>
       <res-ref-name>jdbc/data</res-ref-name>
       <res-type>javax.sql.DataSoruce</res-type>
       <res-auth>Container</res-auth>
    </resource-ref>
  • 相关阅读:
    算法
    如果业界中不用高级算法和数据结构,那为什么还要学?
    CentOS 7 运行级别切换
    ECharts笔记
    Vue+TypeScript学习
    TypeScript深入学习
    TypeScript基础
    检测数据类型的方法
    前端提高性能的方式
    柯里化
  • 原文地址:https://www.cnblogs.com/Firesun/p/9765296.html
Copyright © 2020-2023  润新知