原来对web.xml文件没怎么注意过,今天将刚刚写的一应用部署到weblogic上之后才发现一些问题。由于我用的Myeclipse是最新版的9.0,默认生成的Web应用的web.xml用是的web应用的3.0规范,而WebLogic使用的却是web应用的2.5规范。下面记录一下不同的J2EE版本下web.xml的不同。
J2EE 6、Servlets 3.0、JSP 2.1(Tomcat 7, and so on)
<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" version="3.0">
<!-- rest of declarations go here -->
</web-app>
J2EE 5、Servlets 2.5、JSP 2.1(Tomcat 6, and so on)
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>web app name here</display-name>
<!-- rest of declarations go here -->
</web-app>
J2EE 1.4、Servlets 2.4、JSP 2.0(Tomcat 5, Resin 3, and so on)
<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/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<display-name>web app name here</display-name>
<!-- rest of declarations go here -->
</web-app>
参考资料
http://www.coderanch.com/how-to/java/ServletsWebXml
http://java.sun.com/xml/ns/javaee/
