zoukankan      html  css  js  c++  java
  • web.xml文件的 xsd引用(或dtd引用)学习

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

      JDK依赖变化;

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

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

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

     

    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>  

  • 相关阅读:
    材料订单不在IN_MO或者IN_SCFHEADER中
    FP ABPPMGR表 其它常用存储过程
    ORA-01578 ORACLE data block corrupted (file # 29, block # 2889087)
    PR合并回写
    MySQL优化
    分享一些JVM常见的面试题(转)
    怎么保证 redis 和 db 中的数据一致
    User space(用户空间) 与 Kernel space(内核空间)
    如何设计一个安全的对外接口?(转)
    Jstack命令详解
  • 原文地址:https://www.cnblogs.com/haore147/p/5473697.html
Copyright © 2011-2022 走看看