1. 书城项目的第一阶段,表单验证

    1. 新建一个模块,整个目录结构

image.png

2. XML

2.1 相关基础知识

  • 概念:xml 是可扩展的标记性语言

    • 不管是 html 文件还是 xml 文件它们都是标记型文档, 都可以使用 w3c 组织制定的 dom 技术来解析。
    • dom技术: 将xml文件作为一个树形结构,而树叶被定义为节点。
      1. <?xml version="1.0" encoding="utf-8" ?>
      2. <!-- xml声明 version是版本的意思 encoding是编码 -->
      3. <books> <!-- 这是xml注释 -->
      4. <book id="SN123123413241"> <!-- book标签描述一本图书 id属性描述 的是图书 的编号 -->
      5. <name>java编程思想</name> <!-- name标签描述 的是图书 的信息 -->
      6. <author>华仔</author> <!-- author单词是作者的意思 ,描述图书作者 -->
      7. <price>9.9</price> <!-- price单词是价格,描述的是图书 的价格 -->
      8. </book>
      9. <book id="SN12341235123"> <!-- book标签描述一本图书 id属性描述 的是图书 的编号 -->
      10. <name>葵花宝典</name> <!-- name标签描述 的是图书 的信息 -->
      11. <author>班长</author> <!-- author单词是作者的意思 ,描述图书作者 -->
      12. <price>5.5</price> <!-- price单词是价格,描述的是图书 的价格 -->
      13. </book>
      14. </books>
  • 作用:

    • 1、 用来保存数据, 而且这些数据具有自我描述性
    • 2、 它还可以做为项目或者模块的配置文件
    • 3、 还可以做为网络传输数据的格式(现在 JSON 为主) 。
  • 语法:
      1. 文档声明
      1. 元素(标签)
      1. xml 属性, eg:id=”SN123123413241”
      1. xml 注释
      1. 文本区域(CDATA 区):

image.png

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" />

image.png

4. idea中创建web动态工程

  • 配置
    • image.png
  • 创建:
    • image.png
  • 创建成功:
    • image.png
  • Web 工程的目录介绍
    • image.png

      5. 如何在 IDEA 中部署工程到 Tomcat 上运行