1.1schema文档即xml schema document,schema文件的格式是.xsd(xml schema document的缩写xsd)。

简单来说:schema就是对xml的进一步约束。一旦确定了web.xml schema的引用,就表示要参考该引用所在位置的schema定义和约束的规则,这些规则指定了该xml里:

1)只能出现约束里指定的元素和指定的属性
2)某些元素的顺序的也就不可改变的
3)谁有子元素,有多少个,顺序是怎样的
4)元素和属性的类型,元素是否为空,是否包含文本,数据类型是什么,有没有固定值,有没有默认值等。

关于schema的资料,参考:http://blog.chinaunix.NET/uid-7308906-id-2059766.html

2web.xml文件<web-app>中的各参数如下它们分别代表什么意思呢?

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

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"

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"

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>

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不能使用。

xml配置文件中常见的命名空间解释的更多相关文章

  1. @Required 注释应用于 bean 属性的 setter 方法,它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中,否则容器就会抛出一个 BeanInitializationException 异常。

    @Required 注释应用于 bean 属性的 setter 方法,它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中,否则容器就会抛出一个 BeanInitializationEx ...

  2. 通过java程序调用ant build.xml配置文件中指定的target

    一.概述 通过ant实现项目的自动化部署,jar包生成,替换,tomcat关停.启动,查看项目日志: 通过java程序调用已编辑好的ant脚本build.xml配置文件中指定的target: 文中文件 ...

  3. Spring的xml配置文件中约束的必要性 找不到元素 'beans' 的声明

    今天在复习Spring MVC框架的时候,只知道xml配置文件中的约束有规范书写格式的作用,所以在配置HandlerMapping对象信息的时候没有加入约束信息之后进行测试,没有遇到问题.后来在配置S ...

  4. mybatis 中的 xml 配置文件中 ‘<’、 ‘>’ 处理

    mybatis 中的 xml 配置文件中 '<'. '>' 处理 1.使用转义字符将 '<'. '>' 替换掉. 描述 字符 转义字符 小于号 < < 大于号 &g ...

  5. web.xml配置文件中<async-supported>true</async-supported>报错

    web.xml配置文件中<async-supported>true</async-supported>报错 http://blog.csdn.net/dream_ll/arti ...

  6. tomcat设置默认欢迎页、server.xml配置文件中的标签理解

    一:要求:输入网址,不加文件名便可以访问默认页面 (1)项目中只有静态文件 方法:更改tomcat下的conf目录下的web.xml文件,如下图: <welcom-file-list>元素 ...

  7. 将应用程序中的一些参数写到xml配置文件中

    最近碰到一个问题,需要将程序中的一些基本参数写到xml文件中,虽然网上有好多现成的代码,但是觉得对xml不熟悉,果断就研究了一下.先说一下大体思路吧,我设计了一个用来读取和回填的类,然后定义了一个接口 ...

  8. SqlMapConfig.xml配置文件中的properties属性

    1.原始的SqlMapConfig.xml配置文件的内容为: <?xml version="1.0" encoding="UTF-8" ?> < ...

  9. EasyPlayerPro Windows播放器读取xml配置文件中的特殊字符问题

    问题被反馈 今日一客户反馈说播放不了带用户名密码的流, 奇怪,这个问题不存在啊-,按照客户的说法, 是将url地址保存在配置文件中,然后再打开EasyPlayerPro运行: 问题复现 在EasyPl ...

随机推荐

  1. Android Studio Fragment 无法获取 id的方法

    在Fragment中,因为继承的父类的不同,导致在Fragment中无法获取到控件的id,此时,只要在获取findviewbyid前加上  getView()就可以了.

  2. android 开发 Intent使用技巧点

    判断Intent是否为null: if (intent.resolveActivity(getPackageManager())!=null) { //判断Intent是否为null // Inten ...

  3. leetcode287

    public class Solution { public int FindDuplicate(int[] nums) { ) { ]; ]]; while (slow != fast) { slo ...

  4. python_06 函数、全局变量与局部变量、函数递归

    函数 1.函数的定义: def 函数名(参数): #解释函数的功能 代码块 返回值 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函数名调用函数 函数体:函数中进行 ...

  5. MANIPULATION

    MANIPULATION Generalizations Congratulations! You learned how to use the command line to view and ma ...

  6. 微商城分享 包括app分享 微信分享

    <template> <div class="spr"> <img src="../../assets/images/activity/sh ...

  7. Spring获取bean工具类,可用于在线程里面获取bean

    Spring获取bean工具类,可用于在线程里面获取bean import java.util.Locale; import org.springframework.beans.BeansExcept ...

  8. php json 写入 mysql 的例子

    $a['aaa']='aaaa'; $a['bbb']='bbb'; $a['ccc']='ccc'; $arr['step_name']='kfkf'; $arr['process_name']=' ...

  9. equals的使用

    源码:这里只是把Integer拿出来,String,Long 都一样 /** * Compares this object to the specified object. The result is ...

  10. [leetcode]56. Merge Intervals归并区间

    Given a collection of intervals, merge all overlapping intervals. Example 1: Input: [[1,3],[2,6],[8, ...