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

相关推荐