1.1schema文檔即xml schema document,schema文件的格式是.xsd(xml schema document的縮寫xsd)。html
簡單來講:schema就是對xml的進一步約束。一旦肯定了web.xml schema的引用,就表示要參考該引用所在位置的schema定義和約束的規則,這些規則指定了該xml裏:java
1)只能出現約束裏指定的元素和指定的屬性
2)某些元素的順序的也就不可改變的
3)誰有子元素,有多少個,順序是怎樣的
4)元素和屬性的類型,元素是否爲空,是否包含文本,數據類型是什麼,有沒有固定值,有沒有默認值等。web
關於schema的資料,參考:http://blog.chinaunix.NET/uid-7308906-id-2059766.htmlapp
2web.xml文件<web-app>中的各參數以下它們分別表明什麼意思呢?網站
<?xml version="1.0" encoding="UTF-8"?>ui
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"url
xmlns:javaee="http://Java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd".net
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"unix
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"xml
version="2.4">
</web-app>
2.1 xmlns="http://java.sun.com/xml/ns/j2ee"
表示web.xml這個文件的命名空間爲http://java.sun.com/xml/ns/j2ee,每個.xml都應該有一個命名空間(是本身定義的,通常爲全球惟一的網站做爲.xml文件的命名空間),爲何要用一個網址做爲命名空間?多是要保證全球惟一性吧,因此用網址url。
2.2
xmlns:javaee="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
以上三個表示,用javaee、web、xsi分別替代長長的url,即javaee="http://java.sun.com/xml/ns/javaee" ,web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd",xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"。
2.3
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
這一句才指定了,web.xml真正遵循的約束,即xsd文件所在的位置!
有兩個參數,第一個值是須要使用的命名空間。第二個值是供命名空間使用的 XML schema 的位置。
其中,http://java.sun.com/xml/ns/j2ee,表示web.xml這個xml文件的命名空間。xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"這一句的意思是,http://java.sun.com/xml/ns/j2ee這個命名空間(即web.xml文件)須要遵循http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd文件中的約束,web-app_2_4.xsd中沒有的元素,web.xml不能使用。