一、xml

xml是可扩展的标记语言,被设计用来传输和存储数据

xml主要是用来存储数据的【重点】 类似driid.properties

html是w3c定义好的标签

xml可以自己定义双边标签

1入门xml

1.声明一个头文件,告知编译器书写的是xml文件

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

2.书写根元素 bookstore 英文随便定义

3.在根元素下写子元素

4.在子元素中可以嵌套另外一个子元素

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <bookstore>//根元素,名字任意起
  3. <book categore="玩具">
  4. <title lang="lg">标题:乐高</title>
  5. <author>作者:zzw</author>
  6. <year>年:2022</year>
  7. <price>价格:1999.9</price>
  8. </book>
  9. <book categore="文学">
  10. <title lang="sh">标题:水浒</title>
  11. <author>作者:zzw</author>
  12. <year>年:2022</year>
  13. <price>价格:499.9</price>
  14. </book>
  15. </bookstore>

语法格式:

  1. 1.只能有一个根元素
  2. 2.严格区分大小写
  3. 3.必须是双边标签
  4. 4.必须正确嵌套
  5. 5.属性必须加引号
  6. 6.xml关注的是标签内容

xml文件的标签和标签内容都不是随便写的,有一定的约束

2xml文件约束

开发中只用两个约束 DTD约束和Schema约束

SSM框架中会用这两个

以后开发中DTD,SChema不用自己写!!!

2.1DTD约束

文档类型定义(DTD)可定义合法的XML文件构建模块,它使用一系列合法的元素来定义文档的结构。

DTD可被成行地声明于XML文档中,也可以作为一个外部引用。开发中使用外部的引用

  1. 1.外部专门写一个dtd文件,把它引入到当前xml文件中
  2. 2.当前xml文件就不能胡乱写标签了

案例

  1. <!-- students是根标签,
  2. 要求跟标签下面的子标签必须是student -->
  3. <!ELEMENT students (student*)>
  4. <!-- student的子元素是name,age,sex,info -->
  5. <!ELEMENT student (name,age,sex,info)>
  6. <!-- 声明 name age sex info 这几个标签的数据类型 -->
  7. <!-- #PCDATA 文本类型的数据-->
  8. <!ELEMENT name (#PCDATA)>
  9. <!ELEMENT age (#PCDATA)>
  10. <!ELEMENT sex (#PCDATA)>
  11. <!ELEMENT info (#PCDATA)>
  12. <!-- 对标签加属性 -->
  13. <!ATTLIST student id ID #REQUIRED>

test

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!--引入外部的dtd文件
  3. <!DOCTYPE 根元素 SYSTEM “dtd文件的绝对路径”>
  4. -->
  5. <!DOCTYPE students SYSTEM "E:\idea_workspace\day42_503\src\com\qfedu\b_dtd\student.dtd">
  6. <students>
  7. <student id="a001">
  8. <name>博儿</name>
  9. <age>22</age>
  10. <sex>1</sex>
  11. <info>博儿是dog</info>
  12. </student>
  13. <student id="a002">
  14. <name>艾斯</name>
  15. <age>20</age>
  16. <sex>0</sex>
  17. <info>火拳</info>
  18. </student>
  19. </students>

2.2schema约束

DTD的加强版

  1. 1.创建.xsd文件
  2. 2.在创建xml文件

总结:DTD、schema不用自己写,会用就行

3.xml解析【重点】

xml是保存诗句的,解析xml就是把数据取出来

java的四种解析方式

  1. 1.DOM解析
  2. 2.SAX解析
  3. 3.JDom解析
  4. 4.dom4j解析

只学dom4j解析,以后会学习SSM框架,框架里面会数学xml文件,spring框架的底层就是封装了dom4j。需要到时候能看懂源码

dom4j是将一个xml文件解析成为一个对象,然后从这个对象中把数据取出来

案例

1.新建一个book.xml文件

2.导包,使用dom4j的形式去解析xml文件

  1. package com.qfedu.d_parsexml;
  2. import org.dom4j.Document;
  3. import org.dom4j.DocumentException;
  4. import org.dom4j.Element;
  5. import org.dom4j.io.SAXReader;
  6. import java.io.FileInputStream;
  7. import java.io.FileNotFoundException;
  8. import java.util.Iterator;
  9. /**
  10. * @author wodexinhuai
  11. * @create 2022-05-03-14:14
  12. */
  13. public class Demo1 {
  14. public static void main(String[] args) throws FileNotFoundException, DocumentException {
  15. //1.创建一个SAXReader对象,专门读取xml文件的
  16. SAXReader saxReader = new SAXReader();
  17. //2.开始读取xml文件,将xml文件变成了对象
  18. Document document = saxReader.read(new FileInputStream("E:\\idea_workspace\\day42_503\\src\\com\\qfedu\\d_parsexml\\book.xml"));
  19. //3.通过当前对象获取根节点元素
  20. Element rootElement = document.getRootElement();
  21. // System.out.println(rootElement);//获取bookstore
  22. //4.bookstore下面还有很多个book标签
  23. //返回值是一个迭代器
  24. Iterator iterator = rootElement.elementIterator();
  25. while (iterator.hasNext()){
  26. Element element = (Element)iterator.next();
  27. System.out.println(element.getName());//book
  28. // String stringValue = element.getStringValue();
  29. // System.out.println(stringValue);
  30. Iterator iterator1 = element.elementIterator();
  31. while (iterator1.hasNext()){
  32. Element element1 = (Element)iterator1.next();
  33. System.out.print(element1.getName() + "\t");//标签名
  34. System.out.println(element1.getStringValue());//标签中的值
  35. }
  36. }
  37. }
  38. }

二、Tomcat

什么是web?京东、淘宝的网页

什么是web服务器?

  1. 思考为什么要安装web服务器?
  2. 比如淘宝、京东这些网站。人家把web网页放到自己的服务器,通过url来访问这个网页
  3. 如果安装了Tomcat服务器以后,咱们系的代码扔到服务器下面,通过这个服务器的url可以访问我写的代码
  4. java中有TomcatResinweblogic

其中Tomcat是免费的,开源是apache这个组织和sun公司的人开发出来的

安装Tomcat服务器

2.1安装Tomcat

1.官方网站下载(http://tomcat.apache.org)去下载解压缩版本Tomcat9.0版本

  1. 注意事项:
  2. 1.不建议服务器放的层级太深,
  3. 2.不能有中文路径,
  4. 3.Tomcat需要配置jdk环境变量,
  5. 4.建议把电脑防火墙关闭

2.2启动和关闭Tomcat服务器

启动:

  1. 1.bin文件下,有一个startup.bat文件 双击打开,打开后不要关
  2. 2.打开浏览器的地址输入(http://localhost:8080/)进入到tomcat的网址说明就开启成功了
  3. 闪退的情况:
  4. 1.防火墙没关
  5. 2.jdk配置的有问题
  6. 3.即使现在打不开没关系,以后用idea打开服务器

关闭:

  1. 1.bin文件下,有一个shutdown.bat文件 双击就自己关闭了

2.3Tomcat下面文件夹简单介绍