java web 项目中web.xml 详解

时间:2022-05-07 11:58:06

web.xml详述:

web.xml 是每个Java web 项目的必备文件,又叫做部署描述符,Servlet规范中定义的,是web应用的配置文件。

概念:

、部署描述符文件就像所有XML文件一样,必须以一个XML头开始。这个头声明可以使用的XML版本并给出文件的字符编码。DOCYTPE声明必须立即出现在此头之后。这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管

理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义)。所有部署描述符文件的顶层(根)元素为web-app。请注意,XML元素不像HTML,他们是大小写敏感的。因此,web-App和WEB-APP都是不合法的,web-

app必须用小写。

部署文件实例:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

</web-app>

注:所有的相关配置文件都在这个<webappp></webapp>当中。

web.xml常用标签元素以及功能:

1    <welcome-file>index.jsp</welcome-file> 

这个标签元素中主要指定了JSP文件,即欢迎界面,同时一个javaweb项目可以有多个欢迎界面。

2 <display-name>

javaweb项目的相关应用名称。

3 <description></desciiption>

javaweb的应用描述。

4 <context-param>

context-param 元素用来设定web应用的环境参数(context),它包含两个子元素:

param-name和param-value.

<param-name>参数名称</param-name>

设定Context名称

<param-value>值</param-value>

设定Context名称的值

5 <filter>,<filter-mapping>

filter元素用来设定web应用的过滤器,它的两个主要子元素filter-name和filter-class用来定义Filter所对应的class

<filter-name>Filter的名称</filter-name>

定义Filter的名称

<filter-class>Filter的类名称</filter-class>

定义Filter的类名称

filter-mapping 元素的两个主要子元素filter-name和url-pattern.用来定义Filter所对应的URL.

<filter-name>Filter的名称</filter-name>

定义Filter的名称.

<url-pattern>URL</url-pattern>

Filter所对应的RUL.例如:<url-pattern>/Filter/*</url-pattern>

7:<listener>

listener元素用来定义Listener接口,它的主要子元素为<listener-class>

<listen-class>Listener的类名称</listener-class>

定义Listener的类名称

<listener>

8 <servlet>、<servlet-mapping>

servlet元素的两个主要子元素servlet-name和servlet-class用来定义servlet所对应的class

<servlet-name>servlet的名称</servlet-name>

定义servlet的名称

<servlet-class>servlet的类名称</servlet-class>

定义servlet的类名称

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/*</url-pattern>

</servlet-mapping>

9 <session-cofing>

session-config包含一个子元素session-timeout.定义web应用中的session参数.

<session-timeout>分钟</session-timeout>

定义这个web站台所有session的有效期限.单位为分钟.

例:<session-timeout>30</session-timeout>

10  <mime-mapping>

mime-mapping包含两个子元素extension和mime-type.定义某一个扩展名和某一MIME Type做对映.

<extension>扩展名名称</extension>

扩展名称

<mime-type>MIME格式</mime-type>

MIME格式.

11 <welcome-file-list>

welcome-file-list包含一个子元素welcome-file.用来定义首页列单.

<welcome-file>用来指定首页文件名称</welcome-flie>

welcome-file用来指定首页文件名称.我们可以用<welcome-file>指定几个首页,而服务器会依照设定的顺序来找首页.

12 <error-page>

error-page元素包含三个子元素error-code,exception-type和location.将错误代码(Error Code)或异常(Exception)的种类对应到web应用资源路径.

<error-code>错误代码</error-code>

HTTP Error code,例如: 404、403

<exception-type>Exception</exception-type>

一个完整名称的Java异常类型

<location>/路径</location>

在web应用内的相关资源路径

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

15 <resource-env-ref>

resource-env-ref有两个子元素:

<resource-env-ref-name>资源名</resource-env-ref-name>

资源的名称 相对于java:comp/env

<resource-env-ref-type>查找资源时返回的资源类名</resource-env-ref-type>

当web应用查找该资源的时候,返回的Java类名的全称

For example:

<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>
以上就是对Java web的web.xml文件的了解和详述。