JavaWeb
1.定义
是指所有通过Java语言编写可以通过浏览器访问的程序的总称。是基于请求和响应来开发的。
- 请求Request:是指客户端给服务器发送数据。
- 响应Response:是指服务器给客户端回传数据。
请求和响应成对出现,有请求就会有响应。
2.Web资源的分类
按照实现的技术和呈现的效果分为静态资源和动态资源。
- 静态资源:html、css、js、txt、mp4视频、jpg图片。
- 动态资源:jsp页面、Servlet程序。
xml
1.定义
xml是可以扩展的标记性语言。
2.作用
- 用来保存数据,并且这些数据具有自我描述性。
- 可以作为项目或者模块的配置文件。
- 可以用作网络传输数据的格式。
3.语法
文档说明
<?xml version="1.0" encoding="UTF-8"?>
属性 | 说明 |
---|---|
version | 版本号 |
encoding | xml的文件编码 |
xml注释
和html文件注释一样
<!-- xml注释 -->
标签(元素)
- xml元素:指的是从开始标签到结束标签的部分,可以包含其他元素、文本或者两者的混合物,元素也可以拥有属性。
- xml命名规则:
名称可以包含字母、数字以及其他字符 |
---|
名称不能以数字或者标点符号开始 |
名称不能包含空格 |
- xml中的标签也分为单标签和双标签:
单标签 | <标签名 属性=“值” 属性=“值” … /> |
---|---|
双标签 | <标签名 属性=“值” 属性=“值” … >文本数据或子标签</标签名> |
例:
- 单标签
<book name="图书1"/>
- 双标签
<book>图书1</book>
属性
属性可以提供元素的额外信息,在标签上可以书写属性,一个标签可以书写多个属性,每个属性的值必须用引号引起来。
语法规则
- 所有的xml元素都必须有关闭标签。
- xml标签对大小写敏感。
- xml必须正确的嵌套使用。
- xml文档必须有根元素,根元素就是顶级元素,没有父标签的元素,根元素必须唯一。
- xml的属性值必须加引号。
- 文本区域(CDATA区)
- CDATA语法可以告诉解析器,CDATA里的文本内容为纯文本,不需要xml语法解析,格式如下:
<![<![CDATA[
纯文本,不需要xml语法解析
]]>
4.dom4j解析技术
dom4j编程步骤
- 先加载xml文件创建Document对象。
- 通过Document对象拿到根元素对象。
- 通过根元素.element(标签名); 可以返回一个集合,这个集合里面包含所有指定的标签名的元素对象。
- 找到你想要修改或删除的子元素,进行相应的操作。
- 保存到硬盘上。
获取Document对象
先创建SaxReader对象,用于读取xml文件并创建Document对象
public void test1() throws DocumentException {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read("src/books.xml");
System.out.println("document = " + document);
}
获取所有标签中的内容——遍历标签
- 通过创建SaxReader对象读取xml文件,获取Document对象。
- 通过Document对象拿到根元素对象。
- 根据根元素对象,获取所有的book标签对象。
- 遍历所有的book标签对象,然后获取book标签对象中的所有元素,再通过**getText()**方法拿到起始标签和结束标签之间的内容。
例:
@Test
public void test() throws DocumentException {
//1.读取books.xml文件
SAXReader reader = new SAXReader();
Document document = reader.read("src/books.xml");
//2.通过文档对象获取根元素
Element rootElement = document.getRootElement();
//3.通过根元素获取book标签对象
List<Element> books = rootElement.elements("book");
//4.遍历,处理每个book标签转换为Book类
for (Element book : books){
Element nameElement = book.element("name");
String nameText = nameElement.getText();
//直接获取标签名的文本内容
String priceText = book.elementText("price");
String authorText = book.elementText("author");
String snValue = book.attributeValue("sn");
System.out.println(new book(snValue,nameText,authorText));
}
}
}
- element.asXML()——将当前元素转换成string对象。
- element.elements()——获取到当前元素下指定的子元素集合。