webapp配置文件之web.xml
web.xml是什么?
web.xml
文件是Web服务所属的Web应用程序的标准部署描述符,位于应用 WAR 的 WEB-INF/
目录下。
web.xml
是 Web 应用的 Servlet 标准的一部分,描述了如何在Servlet容器中部署Web应用程序,声明了服务使用的filter(过滤器)和servlet。Java 网页应用程序使用 web.xml
来确定如何将网址映射到 servlet
、哪些网址需要身份验证等。
web.xml
需要包含一个XML描述符以及一个开始和结束< web-app >
标记。
< web-app >
标记模板如下,我们需要注意的是标签里面的一些属性值
模板一
<?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/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
</web-app>
模板二
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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>
version
:指定web.xml使用的版本号
encoding
:指定web.xml使用的编码
xmlns
:xml的名称空间(XML Namespaces)
xmlns:xsi
:使用xsi作为前缀的名称空间,
xsi:schemaLocation
: xsi前缀指定的名称空间的schemaLocation属性
version
:webapp的版本,与schemaLocation的第二个url的文件的后缀名相匹配
id
:初始化时分配给该web.xml的唯一id
注:
- 我们可以发现模板一中的
xmlns
为http://java.sun.com/xml/ns/j2ee
而模板二中的xmlns
为http://java.sun.com/xml/ns/javaee
,这是因为java的版本不同造成的,java1.5之前javaee的原名叫j2ee,java1.5对应的JDK版本为5.0,也就是从jdk5.0以后,j2ee改名为 javaee,j2se 改名为 javase,j2me 改名成 javame,如果你用的是javaee而且jdk版本是5.0之前,xmlns
请用http://java.sun.com/xml/ns/j2ee
,否则会报错,同理jdk5.0之前的javase中请使用http://java.sun.com/xml/ns/j2se
。目前。我们一般使用模板二,也就是jdk5.0以后的版本,现在最新版本为JDK10,增加了很多方便开发者的新特性。 xsi:schemaLocation
定义了XML Namespace和对应的 XSD(Xml Schema Definition)文档的位置的关系。它的值由一个或多个URI引用对组成,两个URI之间以空白符分隔(空格和换行均可)。第一个URI是定义的 XML Namespace的值,第二个URI给出Schema文档的位置,Schema处理器将从这个位置读取Schema文档,该文档的targetNamespace必须与第一个URI相匹配。
web.xml标签详解
web-app下的icon标签
icon
指定web应用程序中表示Web应用程序的大小图像的位置。
元素 | 必需/选用 | 描述 |
---|---|---|
<small-icon> |
选用 | GUI工具中Web应用程序的.gif 或者 .jpg 格式的小图(16x16像素)的位置。 |
<large-icon> |
选用 | GUI工具中Web应用程序的.gif 或者 .jpg 格式的小图(32x32像素)的位置。 |
web-app下的display-name标签
display-name
指定Web应用程序的显示名称,即GUI工具可以显示的简称。
元素 | 必需/选用 | 描述 |
---|---|---|
<display-name> |
选用 | 指定Web应用程序的显示名称 |
<web-app>
<display-name>Web Application name</display-name>
</web-app>
web-app下的description
description
提供有关Web应用程序的描述性文本。
元素 | 必需/选用 | 描述 |
---|---|---|
<description> |
选用 | 描述Web应用程序的文本 |
<web-app>
<description>
This is a text description about your Web Application
</description>
</web-app>