美文网首页
xml的使用和在servlet中的应用

xml的使用和在servlet中的应用

作者: Bigbang_boy | 来源:发表于2017-11-04 23:49 被阅读0次

1. xml简介与用法

简介

XML 指可扩展标记语言(EXtensible Markup Language)

与它相似的HTML(HyperText Markup Language)却有着不一样的工作用途,HTML主要用作于视图层面,在浏览器或客户端给客户带来视觉体验;而xml则用于储存数据,并且不做任何事情,任由解析器读取解析,两者地位是不可互换替代的。

<student>
<name>Tommy</name>
<age>21</age>
<class>Thing_Of_Internet161</class>
</student>

如上所示,上边的xml的数据显示了一个学生的部分信息,但这部分信息仅保存在文本文件中,只有在我们使用,传输,显示的时候,它所保存的信息才会真正被使用。
若要HTML去动态地显示数据,每次去变动HTML将会花去大量的时间,倘若使用xml来负责传输数据,在HTML内仅仅使用几行JavaScript的代码就完成了数据的更新。
步骤一般为

  1. 建立 XML DOM 对象;

  2. 设置加载方式,异步(推荐)或同步;

  3. 提供XML文件URL然后调用 load 方法;

然后采用dom方法去提取xml里的各个节点的值,这里不细述。

语法
声明

XML 文档的第一行可以是一个 XML 声明。这是文件的可选部分,它将文件识别为 XML 文件,有助于工具和人类识别 XML。可以将这个声明简单地写成 <?xml?>,或包含 XML 版本(<?xml version="1.0"?>),甚至包含字符编码。

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

因为这个声明必须出现在文件的开头,所以如果打算将多个小的 XML 文件合并为一个大 XML 文件,则可以忽略这个可选信息。

命名

xml需要一个根节点,并且所有内容都包括在根节点之内,内容内的所有节点的根节点就是该节点:

<root>
//content...
</root>

注意,上文中所出现的所有标签名全是笔者定义的,意味着,所有的xml的标签名都是可以自定义的,XML 允许创作者定义自己的标签和自己的文档结构。
而HTML的标签全是预定义的,意味着,每一个标签名都有它要实现的功能。
在创建名称时可以使用英文字母、数字和特殊字符,比如下划线(_)。但xml也有它的命名规则:

  • 元素名中不能出现空格。
  • 名称只能以英文字母开始,不能是数字或符号。(在第一个字母之后就可以使用字母、数字或规定的符号,或它们的混合)。
  • 对大小写没有限制,但前后要保持一致,以免造成混乱。
    标签也是有头有尾,若定义一个<root>标签,那相应的结束标签就是</root>
嵌套

一个xml元素可包含多个xml元素作为它的子元素,包含者作为他们的父级元素,就如文章开头的<student>。xml需要正确的嵌套,每个标签开始和结束的位置必须对应。

属性

类似于HTML,每个标签也拥有它们的属性,属性由一个名称-值对构成,值包含在双引号中("),比如:

<student >
<name another_name="Lanslot" last_name="Jimy">Tommy</name>
<age actual_age="25">21</age>
<class>Thing_Of_Internet161</class>
</student>

多个属性用空格隔开,可以根据需要构造多个属性,同时属性的命名与标签命名相同。

实体引用

我从别的网站中还了解到,xml文本中有一些字符不能直接使用:

不允许的字符 替代实体 字符描述
< < 小于
> > 大于
& & 符号
' ' 撇号
" " 引号

以上是对xml的入门级的介绍,接下来开始说明xml在javaweb工程中servlet使用配置。

在javaweb工程的配置

web.xml主要用来配置Filter、Listener、Servlet等。但是要说明的是web.xml并不是必须的,一个web工程可以没有web.xml文件。


如图, 这是我第一次建立javaweb是借用的例子。

web.xml的模式文件是由Sun公司定义的,每个web.xml文件的根元素<web-app>中,都必须标明这个 web.xml使用的是哪个模式文件。其它的元素都放在<web-app></web-app>之中。
下面是web.xml的各个标签含义:
servlet这样配置的结果就是把某个servlet类和url路径绑在一起了,意思是我们访问 /url名字 实际上就是在访问某个servlet类。

<servlet-name>Servlet的名字,唯一性和一致性,与<servlet>元素中声明的名字一致。

<servlet-class>指定相对于Servlet的URL的路径。该路径相对于web应用程序上下文的根路径。

<servlet-mapping>,<servlet-mapping>含有<servlet-name>和<url-pattern>,其中<url-pattern>指定相对于Servlet的URL的路径。该路径相对于web应用程序上下文的根路径,也就是你访问web时的路径。

容器的Context对象对请求路径(URL)做出处理,去掉请求URL的上下文路径后,按路径映射规则和Servlet映射路径(<url- pattern>)做匹配,如果匹配成功,则调用这个Servlet处理请求,就相当于web用url去访问servlet的类,若查找成功则返回那个类。

笔者在javaweb中探索得不够深,还不能更深入的了解xml在javaweb的应用,只能简单的描述下在servlet的应用。日后若更深入学习javaweb,会回来更新此文章。完。

相关文章

网友评论

      本文标题:xml的使用和在servlet中的应用

      本文链接:https://www.haomeiwen.com/subject/efmqmxtx.html