web.xml标签顺序
最近在做Web应用迁移的时候经常碰到由于web.xml中标签顺序出错而导致迁移应用异常的情况。经过查阅相关资料以后发现这些问题通常都是由标签顺序产生。一般来说,不同的web 容器的实现会对web.xml标签顺序做不同的解释,所以会出现迁移故障。
要保证web应用能任意迁移有2个办法:
1,严格遵守web.xml规范编写
2,每次发布应用时使用应用服务器自带的web.xml编辑工具生成新的web.xml
很显然,第1个方案是保证顺利移植最好的习惯。
web.xml里面各元素出现的顺序如下:
1, icon?
2, display-name?
3,description?
4, distributable?
5, context-param*
6, filter*
7, filter-mapping*
8, listener*
9,servlet*
10,servlet-mapping*
11,session-config?
12,mime-mapping*
13,welcome-file-list?
14,error-page*
15,taglib*
16,resource-env-ref*
17,resource-ref*
18,security-constraint*
19,login-config?
20,security-role*
21,env-entry*
22,ejb-ref*
23,ejb-local-ref
上述标签并不是在所有的web.xml里面都必须全部出现,有些标签在web.xml里面很少使用。"?"表示该标签出现次数最多为1,"*"表示可以多次出现。但是如果出现,必须严格按照上面的顺利出现。
在此本人补充一下:我也遇到过这样的问题,曾经向webphere服务器部署一个web应用的时候就出现了这样的问题,因为webphere服务器是严格要求web.xml是按顺序的,而tomcat服务器则没有这样的要求。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhannk/archive/2009/04/24/4112440.aspx