web.xml文件的 xsd引用(或dtd引用)学习

1. 为什么web.xml会有不同版本的xsd引用:

  JDK依赖变化;

  或 servlet(JAVA EE)自身API的改变;

 

2. 为什么会有dtd和xsd两个版本的区别

 

  我是在这篇文章中看到的,作者似乎拷贝了一段API说明:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
There are two ways to specify the schema for a the web.xml file (Deployment Descriptor).
DTD - Document Type Definition
XSD - XML Schema Definition
The XSD version is preferred since JSP 2.0 / Servlets 2.4 (eg: Tomcat 5.5). Note that the XML encoding can be specified as ISO-8859-1, UTF-8, or any other valid encoding in either version, and should match the actual encoding of your text file.
 
XSD example for JSP 2.1 / Servlets 2.5 (Tomcat 6.0):
 
<?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/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"
     version="2.5">
 
</web-app>
XSD example for JSP 2.0 / Servlets 2.4 (Tomcat 5.5):
 
<?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/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
     version="2.4">
 
</web-app>
DTD example for JSP 1.2 / Servlets 2.3 (Tomcat 5):
 
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
   PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
   "http://java.sun.com/dtd/web-app_2_3.dtd">
 
<web-app>
 
</web-app>

 

 在这里,也就说了,DTD是早期支持的方式,后期尽量用XSD。为什么XSD成为趋势,这里有个很好的注解《如何使用XSD》《XML中DTD,XSD的区别与应用》。

DTD和XSD相比:DTD 是使用非 XML 语法编写的。

DTD 不可扩展,不支持命名空间,只提供非常有限的数据类型 .

 

3. web.xml几个版本的列表

web.xml v2.3

<?xml version="1.0" encoding="ISO-8859-1"?>  
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">  
<web-app></web-app>

 

web.xml v2.4

<web-app id="WebApp_9" version="2.4" 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">  

</web-app>  

 

web.xml v2.5

 

 

<?xml version="1.0" encoding="UTF-8"?>  

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> 

 

 

 

 

web.xml v3.0 

<?xml version="1.0" encoding="UTF-8"?>  

<web-app  version="3.0"  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">  

</web-app>  

 本文转自二郎三郎博客园博客,原文链接:http://www.cnblogs.com/haore147/p/5473697.html,如需转载请自行联系原作者

上一篇:解决最后一公里-PTS铂金版发布数据工厂


下一篇:英安全机构称朝鲜应对恶意勒索软件攻击事件负责