1. 书城项目的第一阶段,表单验证
- 新建一个模块,整个目录结构
2. XML
2.1 相关基础知识
概念:xml 是可扩展的标记性语言
- 不管是 html 文件还是 xml 文件它们都是标记型文档, 都可以使用 w3c 组织制定的 dom 技术来解析。
- dom技术: 将xml文件作为一个树形结构,而树叶被定义为节点。
<?xml version="1.0" encoding="utf-8" ?>
<!-- xml声明 version是版本的意思 encoding是编码 -->
<books> <!-- 这是xml注释 -->
<book id="SN123123413241"> <!-- book标签描述一本图书 id属性描述 的是图书 的编号 -->
<name>java编程思想</name> <!-- name标签描述 的是图书 的信息 -->
<author>华仔</author> <!-- author单词是作者的意思 ,描述图书作者 -->
<price>9.9</price> <!-- price单词是价格,描述的是图书 的价格 -->
</book>
<book id="SN12341235123"> <!-- book标签描述一本图书 id属性描述 的是图书 的编号 -->
<name>葵花宝典</name> <!-- name标签描述 的是图书 的信息 -->
<author>班长</author> <!-- author单词是作者的意思 ,描述图书作者 -->
<price>5.5</price> <!-- price单词是价格,描述的是图书 的价格 -->
</book>
</books>
作用:
- 1、 用来保存数据, 而且这些数据具有自我描述性
- 2、 它还可以做为项目或者模块的配置文件
- 3、 还可以做为网络传输数据的格式(现在 JSON 为主) 。
- 语法:
- 文档声明
- 元素(标签)
- xml 属性, eg:id=”SN123123413241”
- xml 注释
- 文本区域(CDATA 区):
2.2 xml技术解析
step1: 需要解析的 books.xml 文件内容:
<?xml version="1.0" encoding="UTF-8"?> <books> <book sn="SN12341232"> <name>辟邪剑谱</name> <price>9.9</price> <author>班主任</author> </book> <book sn="SN12341231"> <name>葵花宝典</name> <price>99.99</price> <author>班长</author> </book> </books>
step2: 创建book.java文件, 属性即xml文件中的属性: name, price,author
step2: 解析获取 Document 对象的代码
- 遍历 标签 获取所有标签中的内容 (*重点)
需要分四步操作:
- 第一步, 通过创建 SAXReader(Stream API for XML) 对象。 来读取 xml 文件, 获取 Document 对象
- 第二步, 通过 Document 对象。 拿到 XML 的根元素对象
- 第三步, 通过根元素对象。 获取所有的 book 标签对象
第四小, 遍历每个 book 标签对象。 然后获取到 book 标签对象内的每一个元素, 再通过 getText() 方法拿到起始标签和结
束标签之间的文本内容 ```java public class Dom4jTest { /**- dom4j 获取Document对象 *
- @throws Exception
*/
@Test
public void test1() throws Exception {
// 第一步, 通过创建 SAXReader 对象。 来读取 xml 文件, 获取 Document 对象
SAXReader reader = new SAXReader();
Document document = reader.read(“src/books.xml”);
// 第二步, 通过 Document 对象。 拿到 XML 的根元素对象
Element root = document.getRootElement();
// 打印测试
// Element.asXML() 它将当前元素转换成为 String 对象
// System.out.println( root.asXML() );
// 第三步, 通过根元素对象。 获取所有的 book 标签对象
// Element.elements(标签名)它可以拿到当前元素下的指定的子元素的集合
List
books = root.elements(“book”); // 第四小, 遍历每个 book 标签对象。 然后获取到 book 标签对象内的每一个元素, for (Element book : books) { // 测试 // System.out.println(book.asXML()); // 拿到 book 下面的 name 元素对象 Element nameElement = book.element(“name”); // 拿到 book 下面的 price 元素对象 Element priceElement = book.element(“price”); // 拿到 book 下面的 author 元素对象 Element authorElement = book.element(“author”); // 再通过 getText() 方法拿到起始标签和结束标签之间的文本内容 System.out.println(“书名” + nameElement.getText() + “ , 价格:” + priceElement.getText() + ", 作者: " + authorElement.getText());
} } }
![image.png](https://cdn.nlark.com/yuque/0/2021/png/22435741/1629640332031-8f88cf51-2278-463c-81c2-2c539de29457.png#align=left&display=inline&height=265&margin=%5Bobject%20Object%5D&name=image.png&originHeight=265&originWidth=743&size=102430&status=done&style=none&width=743)
<a name="p1oCJ"></a>
## 2. Tomcat
<a name="2fzrz"></a>
### 1. javaWeb概念
- 1.1 什么是 JavaWeb ?
- JavaWeb 是指, 所有通过 Java 语言编写可以通过浏览器访问的程序的总称, 叫 JavaWeb
- JavaWeb 是基于请求和响应来开发的:
- 请求是指客户端给服务器发送数据, 叫请求 Request
- 响应是指服务器给客户端回传数据, 叫响应 Response
- request-response成对出现
- 1.2 Web 资源的分类
- web 资源按实现的技术和呈现的效果的不同, 又分为静态资源和动态资源两种
- 静态资源: html、 css、 js、 txt、 mp4 视频 , jpg 图片
- 动态资源: jsp 页面、 Servlet 程序
- 1.3 常用的 Web 服务器
- Tomcat: 由 Apache 组织提供的一种 Web 服务器, 提供对 jsp 和 Servlet 的支持。 它是一种轻量级的 javaWeb 容器(服务器), 也是当前应用最广的 JavaWeb 服务器(免费)
<a name="0cY8X"></a>
### 2. Tomcat安装
![image.png](https://cdn.nlark.com/yuque/0/2021/png/22435741/1629640778020-8fbfe2ed-ae47-44e4-8c35-78a5b0a988ea.png#align=left&display=inline&height=222&margin=%5Bobject%20Object%5D&name=image.png&originHeight=222&originWidth=753&size=64207&status=done&style=none&width=753)
<a name="qeIS0"></a>
### 3. tomcat工程部署--config版本
abc.xml 配置文件内容如下:
```xml
<!-- Context 表示一个工程上下文
path ---->外部请求时输入的目录
docBase ---->工程在本地实际存储的目录
-->
<Context path="/book" docBase="E:\book" />