可扩展标记语言
文档声明
<?xml version="1.0" encoding="UTF-8" standalone="no"?>standalone
no–该文档会依赖关联其他文档
yes–这是一个独立的文档
用来声明xml的基本属性,用来指挥解析引擎如何去解析当前xml
通常一个xml都要包含并且只能包含一个文档声明
xml的文档必须在整个xml的最前面,在文档声明之前不能有任何内容
<?xml version="1.0" ?>
--version是必须存在的属性,表明当前xml所遵循规范的版本,目前位置都写1.0就可以了
<?xml version="1.0" encoding="utf-8" ?>
--encoding用来只会解析引擎在解析xml时使用的编码,一定要保证xml格式的数据在保存时使用的编码和解析时使用的编码必须一致,才不会有乱码问题
<?xml version="1.0" encoding="utf-8" standalone="yes" />
--standalone属性用来指明当前xml是否是一个独立的xml,默认值是yes表明当前文档不需要依赖于其他文档,如果当前文档依赖其他文档而存在则需要将此值设置为no
encoding
encoding方式与文件保存方式必须保持一致
元素的定义
<元素名称 属性名称=“属性的值">
</元素名称>
注释
CDATA区
<和&是非法的,需要转义
“<”:<
“>”:>
“&”:&
" --> "
’ --> ’
如果某字符串有较多字符,且包含类似标签或关键字的文字,可以用CDATA让包装XML不解析
<![CDATA[......]]>服务器给客户端返回数据有时候会用
处理指令
处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。
<?xml-stylesheet type="text/css" href="1.css"?>
XML解析
DOM
document object model
把整个XML读到内存,形成树结构
整个文档称为document对象
属性 Attribute
元素节点 Element
文本 Text
上面4个都称为Node
SAX
Simple API for XML 基于事件驱动,读一行,解析一行
不可进行增删,只能查询,省内存
解决方案
dom4j:使用较广泛
jaxp:sun公司,繁琐
jdom:
dom4j
//1.创建sax读取对象
Reader reader = new SAXReader();
//2.指定解析的XML源
Document document = reader.read(new File("");
//3.得到元素
Element rootElement = document.getRootElement();
//获取元素下面的子元素
rootElement.element("");
//获取所有子元素
List<Element> elements = rootElement.elements();
Xpath的作用
xml的路径语言,用于快速定位元素(需要添加jar包 jaxen)
//使用Xpath获取第一个元素
element.selectSingleNode("xpath描述");
//获取所有
element.selectNodes("xpath描述");
XML约束
DTD
语法自成一派,可读性差,文件可命名为.dtd后缀
<!ELEMENT 元素的名称 类型>
如:
引入DTD:
]>
元素个数
+:有1个或多个
*:有0个或多个
?:零个或一个
属性类型定义
CDATA:普通文字
ID:属性值必须唯一
,:元素按顺序
|:有一个即可
<!ATTLIST 元素名称 属性名称 属性类型 默认值>
如:
Schema
语法就是XML,解析方便
文件后缀xsd
xmlns:名称空间/命名空间
targetNamespace:目标名称空间,下面定义的元素都与此名称空间绑定
elementFormDefault:元素格式化情况
xsd被W3C标准约束,XML(实例文档)被xsd约束
引用Schema:
名称空间的作用
一个XML如果想指定约束规则,用DTD则只能指定一个
用schema,则可以有多个。
换句话说,XML可引用多个schema,只能引用 一个DTD,名称空间的作用就是在写元素时可指定该元素用哪一套约束规则
aa:name bb:name
web服务器软件
Tomcat(free)
webLogic BEA
Websphere IBM
IIS Microsoft
Tomcat
tomcat.apache.org
默认端口号:8080
mysql
Tomcat目录介绍
- bin
包含一些jar、bat、startup.bat - conf
tomcat配置,server.xml web.xml - lib
tomcat运行所需的文件 - logs
运行日志文件 - temp
临时文件 - webapps
发布到tomcat服务器上的项目 - work
jsp翻译成class的文件存放地
发布项目到tomcat
让其他电脑访问本电脑的资源,三种方式
1.将资源文件放到webapps/ROOT,访问http://localhost:8080/stu.xml
http://localhost:8080对应的是webapps/ROOT
或 在webapps下新建一个文件夹,如xml,将资源文件放到此文件夹中
http://localhost:8080/xml/stu.xml
http://localhost:8080/xml对应的是webapps/xml
2.配置虚拟路径
使用localhost:8080打开tomcat首页,在左侧找到tomcat文档入口,在文档页面左侧找到Context入口并进入
http://localhost:8080/docs/config/context.html
在conf/server.xml找到host节点
增加
浏览器可访问http://localhost:8080/a/stu.xml
3.配置虚拟路径
在tomcat/conf/cataxlina/localhost/新建xml文件stu.xml
在stu.xml文件中写入
浏览器可访问http://localhost:8080/stu/stu.xml