用web.xml控制Web应用的行为
一、定义头和根元素
部署描述符文件就像所有XML文件一样,必须以一个xml头开始。这个头声明可以使用的xml版本并给出文件的字符编码。
DOCTYPE生们必须立即出现在此头之后。这个声明告诉服务器使用的servlet规范的版本并制定管理此文件其余部分内容的语法的dtd(Document Type Definition,文档类型定义)。
所有部署描述符文件的顶层元素为web-app。请注意,xml元素不像html元素,它们是大小写敏感的。因此,web-App和WEB-APP多是不合法的。Web-app必须用小写。
<?xmlversion="1.0" encoding="ISO-8859-1"?>
<!DOCTYPEweb-app
PUBLIC "-//Sun Microsystems, Inc.//DTDWeb Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
……
……
……
</web-app>
二、部署描述符文件内的元素次序
xml元素不仅是大小写敏感的,而且它们还对出现的先后次序敏感,例如,xml头必须是文件中的第一项,DOCTYPE声明必须是第二项,而web-app元素必须是第三项。在web-app元素内,元素的次序也很重要。服务器不一定强制要求这种次序,但他们允许完全拒绝执行含有次序不正确的元素的web应用,这表示使用非标准元素次序的web.xml文件是不可移植的。
下面的列表给出了所有可直接出现在web-app元素内的合法元素所必须的次序。例如,此列表说明servlet元素必须出现在所有servlet-mapping元素之前。如果有任意的mime-mapping元素,它们必须出现在所有servlet和servlet-mapping元素之后是welcome-file-list之前。请注意,所有这些元素都是科学的,因系,可以省略某一元素,但不能把它放一不正确的位置。
1、 icon icon元素指出IDE或GUI工具来表示web应用的一个或两个图像文件的位置。
2、 display-name display-name元素提供GUI工具可能会用来标记这个特听得web应用的一个名称。
3、 description description 元素给出鱼刺web应用有关的说明性文本。
4、 distributable distributable越俗告诉系统,在多个服务器上分布此web应用是安全的。
5、 context-param context-param元素声明应用范围内的初始化参数。
6、 filter 过滤器元素将一个名字与一个实现javax,servlet.filter接口的类相关联。
7、 filter-mapping 一旦命名了一个过滤器,就要利用filter-mapping元素把它一个或多个servlet或jsp页面相关联。
8、 listener servlet API的版本增加了对事件监听程序的支持,事件监听程序在建立、修改或删除会话或servlet环境是得到通知。Listener元素指出事件监听程序类。
9、 servlet 在向servlet或jsp页面制定出使化参数或定制url时,必须首先命名servlet或jsp页面。Servlet元素就是用来完成此项任务的。
10、 servlet-mapping 服务器一般为servlet提供一个缺省的url: http://localhost/webAppPrefix/servlet/servletName。但是,常常会更改这个url,以便servlet可以访问初始化参数或更容易地处理相对URL.。在更改缺省URL时,使用servlet-mapping元素。
11、 session-config 如果某个会话在一定时间内未访问,服务器可以抛弃他以节省内存。可通过使用httpSession的setMaxInactiveInterval方法明确设置单个会话对象的超时值,或者可利用session-config元素制定缺省超时值。
12、 mime-mapping 如果web应用具有相当特殊的文件,希望能保证给他们分配特定的mime类型,则mime-mapping元素提供这种保证。
13、 welcome-file-list welcome-file-list元素只是服务器在收到引用一个目录而不是文件名的URL时,使用哪个文件。
14、 error-page error-page元素是得再返回特定http状态代码时,或者特定类型的一场被抛出时,能够制定将要现实的页面。
16、 taglib taglib元素对标签库描述符文件(tag library descriptor file)指定别名。此功能使你能够更改tld文件的位置而不用编辑使用这些文件的jsp页面。
17、 resource-env-ref 此元素声明鱼刺元相关的一个管理对象。
18、 resource-ref 声明一个资源工厂使用的外部资源。
19、 security-constratint 指定应该保护的URL。他与login-config元素联合使用。
20、 login-config 指定服务器应该给试图访问受保护页面的用户授权。
21、 security-role 此元素给出一个安全角色的一个列表,这些角色将出现在sevlet元素内的security-role-ref元素的role-name字元素中。分别地声明角色可是高级ide处理安全信息更为容易。
22、 env-entry 此元素声明web应用的环境项。
23、 ejb-ref 此元素声明一个企业级bean的主目录的引用。
24、 ejb-local-ref 此元素声明一个企业级bean的本地主目录的引用。