zoukankan      html  css  js  c++  java
  • web.xml配置文件详解

    web.xml元素介绍
    每一个站的WEB-INF下都有一个web.xml的设定文件,它提供了我们站台的配置设定.

    web.xml定义:
    .站台的名称和说明
    .针对环境参数(Context)做初始化工作
    .Servlet的名称和映射
    .Session的设定
    .Tag library的对映
    .JSP网页设定
    .Mime Type处理
    .错误处理
    .利用JDNI取得站台资源

    要了解web.xml的设定值,必须了解它的schema,从web.xml中知道它的schema是由Sum Microsystems公司定制的,如果你想更为详细的了解它,
    可以到http://java.sun.com/xml/ns/j2ee/web-mapp_2_4.xsd网页,那里有更为详细的介绍。这里我介绍我们平常见得最都的.

    <?xml version="1.0" encoding="ISO-8859-1"?>

    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">
    <web-app>
    这是一般在写XML时所做的声明,定义了XML的版本,编码格式,还有重要的指明schema的来源,为http://java.sun.com/xml/ns/j2ee
    /web-app_2_4.xsd.


    <description>,<display-name>,<icon>
    ____________________________________________

    <description>站台描述</discription>
    对站台做出描述.

    <display-name>站台名称</display-name>
    定义站台的名称.

    <icon>
    icon元素包含small-icon和large-icon两个子元素.用来指定web站台中小图标和大图标的路径.
    <small-icon>/路径/smallicon.gif</small-icon>
    small-icon元素应指向web站台中某个小图标的路径,大小为16 X 16 pixel,但是图象文件必须为GIF或JPEG格式,扩展名必须为:.gif或
    .jpg.

    <large-icon>/路径/largeicon-jpg</large-icon>
    large-icon元素应指向web站台中某个大图表路径,大小为32 X 32 pixel,但是图象文件必须为GIF或JPEG的格式,扩展名必须为; gif
    或jpg.
    范例:
    <display-name>Develop Example</display-name>
    <description>JSP 2.0 Tech Book's Examples</description>
    <icon>
       <small-icon>/images/small.gif</small-icon>
       <large-icon>/images/large.gir</large-icon>
    </icon>


    <distributable>
    ______________________________________

    <distributable>
    distributable 元素为空标签,它的存在与否可以指定站台是否可分布式处理.如果web.xml中出现这个元素,则代表站台在开发时已经
    被设计为能在多个JSP Container 之间分散执行.
    范例:
    <distributable/>


    <context-param>
    ___________________________________

    <context-param>
    context-param 元素用来设定web站台的环境参数(context),它包含两个子元素:
    param-name和param-value.
    <param-name>参数名称</param-name>
    设定Context名称
    <param-value>值</param-value>
    设定Context名称的值
    </context-param>
    范例:
    <context-param>
       <param-name>param_name</param-name>
       <param-value>param_value</param-value>
    </context-param>
    此所设定的参数,在JSP网页中可以使用下列方法来取得:
    ${initParam.param_name}
    若在Servlet可以使用下列方法来获得:
    String param_name=getServletContext().getInitParamter("param_name");


    <filter>
    _________________________________
    filter元素用来声明filter的相关设定.filter元素除了下面介绍的的子元素之外,还包括<servlet>介绍过的<icon>,<display-name>
    ,<description>,<init-param>,其用途一样.
    <filter-name>Filter的名称</filter-name>
    定义Filter的名称.
    <filter-class>Filter的类名称</filter-class>
    定义Filter的类名称.例如:com.foo.hello
    </filter>
    范例:
    <filter>
    <filter-name>setCharacterEncoding</filter-name>
    <filter-class>coreservlet.javaworld.CH11.SetCharacterEncodingFilter</filter-class>
    <init-param>
         <param-name>encoding</param-name>
         <param-value>GB2312</param-value>
    </init-param>
    </filter>


    <filter-mapping>
    ______________________________________
    <filter-mapping>
    filter-mapping 元素的两个主要子元素filter-name和url-pattern.用来定义Filter所对应的URL.
    <filter-name>Filter的名称</filter-name>
    定义Filter的名称.
    <url-pattern>URL</url-pattern>
    Filter所对应的RUL.例如:<url-pattern>/Filter/Hello</url-pattern>

    <servlet-name>Servlet的名称<servlet-name>
    定义servlet的名称.
    <dispatcher>REQUEST|INCLUDE|FORWARD|ERROR</disaptcher>
    设定Filter对应的请求方式,有RQUEST,INCLUDE,FORWAR,ERROR四种,默认为REQUEST.
    </filter-mapping>
    范例:
    <filter-mapping>
       <filter-name>GZIPEncoding</filter-name>
       <url-pattern>/*</url-pattern>
    </filter-mapping>


    <listener>
    ___________________________________________
    <listener>
    listener元素用来定义Listener接口,它的主要子元素为<listener-class>
    <listen-class>Listener的类名称</listener-class>
    定义Listener的类名称.例如: com.foo.hello
    <listener>
    范例:
    <listener>
    <listener-class>coreservlet.javaworld.CH11.ContenxtListener</listener-class>
    </listener>


    <servlet-mapping>
    _____________________________________________
    servlet-mapping元素包含两个子元素servlet-name和url-pattern.用来定义servlet所对应URL.
    <servlet-name>Servlet的名称</servlet-name>
    定义Servlet的名称.
    <url-pattern>Servlet URL</url-pattern>
    定义Servlet所对应的RUL.例如:<url-pattern>/Servlet/Hello</url-pattern>
    </servlet-mapping>
    范例:
    <servlet-mapping>
       <servlet-name>LoginChecker</servlet-name>
       <url-pattern>/LoginChecker</url-pattern>
    </servlet-mapping>


    <session-cofing>
    __________________________________
    <session-config>
    session-config包含一个子元素session-timeout.定义web站台中的session参数.
    <session-timeout>分钟</session-timeout>
    定义这个web站台所有session的有效期限.单位为分钟.
    </session-config>
    范例:
    <session-config>
       <session-timeout>20</session-timeout>
    </session-config>


    <mime-mapping>
    ___________________________________________________
    <mima-mapping>
    mime-mapping包含两个子元素extension和mime-type.定义某一个扩展名和某一MIME Type做对映.
    <extension>扩展名名称</extension>
    扩展名称
    <mime-type>MIME格式</mime-type>
    MIME格式.
    </mime-mapping>
    范例:
    <mime-mapping>
       <extension>doc</extension>
       <mime-type>application/vnd.ms-word</mime-type>
    </mime-mapping>
    <mime-mapping>
       <extension>xls</extension>
       <mime-type>application/vnd.ms-excel</mime-type>
    </mime-mapping>
    <mime-mapping>
       <extension>ppt</extesnion>
       <mime-type>application/vnd.ms-powerpoint</mime-type>
    </mime-mapping>


    <welcome-file-list>
    _____________________________________________
    <welcome-file-list>
    welcome-file-list包含一个子元素welcome-file.用来定义首页列单.
    <welcome-file>用来指定首页文件名称</welcome-flie>
    welcome-file用来指定首页文件名称.我们可以用<welcome-file>指定几个首页,而服务器会依照设定的顺序来找首页.
    范例:
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.htm</welcome-file>
    </welcome-file-list>


    <error-page>
    _________________________
    <error-page>
    error-page元素包含三个子元素error-code,exception-type和location.将错误代码(Error Code)或异常(Exception)的种类对应
    web站台资源路径.
    <error-code>错误代码</error-code>
    HTTP Error code,例如: 404
    <exception-type>Exception</exception-type>
    一个完整名称的Java异常类型
    <location>/路径</location>
    web站台内的相关资源路径
    </error-page>
    范例:
    <error-page>
       <error-code>404</error-code>
       <location>/error404.jsp</location>
    </error-page>
    <error-page>
       <exception-type>java.lang.Exception</exception-type>
       <location>/except.jsp</location>
    </error-page>


    <jsp-config>
    _______________________________________________
    <jsp-config>
    jsp-config元素主要用来设定JSP的相关配置,<jsp:config>包括<taglib>和<jsp-property-group>两个子元素.其中<taglib>元素
    在JSP 1.2时就已经存在了;而<jsp-property-group>是JSP 2.0新增的元素.

    <taglib>
    taglib元素包含两个子元素taglib-uri和taglib-location.用来设定JSP网页用到的Tag Library路径.
    <taglib-uri>URI</taglib-uri>
       taglib-uri定义TLD文件的URI,JSP网页的taglib指令可以经由这个URI存取到TLD文件.
    <taglib-location>/WEB-INF/lib/xxx.tld</taglib-laction>
       TLD文件对应Web站台的存放位置.
    </taglib>

    <jsp-property-group>
    jsp-property-group元素包含8个元素,分别为:
    <description>Description</descrition>
    此设定的说明

    <display-name>Name</display-name>
    此设定的名称

    <url-pattern>URL</url-pattern>
    设定值所影响的范围,如:/CH2 或者/*.jsp

    <el-ignored>true|false</el-ignored>
    若为true,表示不支持EL语法.

    <scripting-invalid>true|false</scripting-invalid>
    若为true表示不支持<%scription%>语法.

    <page-encoding>encoding</page-encoding>
    设定JSP网页的编码

    <include-prelude>.jspf</include-prelude>
    设置JSP网页的抬头,扩展名为.jspf

    <include-coda>.jspf</include-coda>
    设置JSP网页的结尾,扩展名为.jspf
    </jsp-property-group>
    </jsp-config>
    范例:
    <jsp-config>
    <taglib>
       <taglib-uri>Taglib</taglib-uri>
       <taglib-location>/WEB-INF/tlds/MyTaglib.tld</taglib-location>
    </taglib>
    <jsp-property-group>
       <description>
          Special property group for JSP Configuration JSP example.
       </description>
       <display-name>JSPConfiguration</display-name>
       <uri-pattern>/*</uri-pattern>
       <el-ignored>true</el-ignored>
       <page-encoding>GB2312</page-encoding>
       <scripting-inivalid>true</scripting-inivalid>
       ............
    </jsp-property-group>
    </jsp-config>


    <resource-ref>
    ________________________________________________
    <resource-ref>
    resource-ref元素包括五个子元素description,res-ref-name,res-type,res-auth,res-sharing-scope.利用JNDI取得站台可
    利用资源.
    <description>说明</description>
    资源说明

    <rec-ref-name>资源名称</rec-ref-name>
    资源名称

    <res-type>资源种类</res-type>
    资源种类

    <res-auth>Application|Container</res-auth>
    资源由Application或Container来许可

    <res-sharing-scope>Shareable|Unshareable</res-sharing-scope>
    资源是否可以共享.默认值为 Shareable
    范例:
    <resource-ref>
       <description>JNDI JDBC DataSource of JSPBook</description>
       <res-ref-name>jdbc/sample_db</res-ref-name>
       <res-type>javax.sql.DataSoruce</res-type>
       <res-auth>Container</res-auth>
    </resource-ref>

  • 相关阅读:
    Linq to OBJECT延时标准查询操作符
    LINQ to XML
    动态Linq(结合反射)
    HDU 1242 dFS 找目标最短路
    HDu1241 DFS搜索
    hdu 1224 最长路
    BOJ 2773 第K个与m互质的数
    ZOJ 2562 反素数
    2016 ccpc 杭州赛区的总结
    bfs UESTC 381 Knight and Rook
  • 原文地址:https://www.cnblogs.com/buffer/p/1607201.html
Copyright © 2011-2022 走看看