一、xml主要作用就是保存数据、作为项目或者模块的配置文件、还可以作为网络传输数据的格式(现在已json为主)
二、xml语法
<?xml version="1.0" encoding="utf-8" ?> <!--文档声明--> <books> <!--元素(标签)--> <book id="111"> <!--id是xml的属性--> <name>品三国</name> <!--品三国是文本区域--> <author>易中天</author> <price>9.9</price> </book> </books>
三、语法详细介绍
1、xml的元素类似于html的标签<books></books>
命令规则
- 名称可以含字母、数字以及其他的字符
- 不能以数字或标点符号开始
- 名称不能以xml开始
- 名称不能包含空格
2、属性:再开始标签内包含属性,类似html的属性
特点:属性内容要用双引号引起来
3、语法规则
- 所有的xml元素(标签)都需要有关闭标签
- 标签对大小写敏感
- 标签正确嵌套 (比如:<price></price>必须放到<book>内)
- 必须要有根元素(比如:<books><book>不能同级)
- 属性必须要用双引号引起来
- xml中的特殊字符必须转义
- 文本区域:对于特殊字符,可以用<![CDATA[需要转义的字符]]>
四、xml解析技术介绍
不管是html文件还是xml文件他们都是标记性文档,都可以使用万w3c组织指定dom技术来解析
document对象表示的是整个文档(可以是html文档,也可以是xml文档)
解析xml文件的几种方式:
- jdom在dom的基础上进行了封装
- dom4j又对jdom进行了封装 (dom4j是第三方的解析技术。我们需要使用第三方提供好的类库才可以解析xml文件)
五、dom4j解析技术(重点***)
由于dom4j属于第三方的技术,我们使用时需要去官网下载dom4j的jar包
1、dom4j目录的一个介绍
2、使用dom4j读取xml文件并创建document对象
1)创建一个lib目录,并添加dom4j的jar包。并添加到类路径
右键dom4j-1.6.1.jar包-->add as Library...
2)在src文件下创建一个books.xml文件
<?xml version="1.0" encoding="utf-8" ?> <!--文档声明--> <books> <!--元素(标签)--> <book sn="SN12341212"> <!--id是xml的属性--> <name>品三国</name> <!--品三国是文本区域--> <author>易中天</author> <price>9.9</price> </book> <book sn="SN12341213"> <!--id是xml的属性--> <name>摸摸头</name> <!--品三国是文本区域--> <author>大冰</author> <price>9.9</price> </book> </books>
3)同样在src文件夹下创建book类
public class Book { private String sn; private String name; private String author; private BigDecimal price;
包含上面私有属性的get,set方法,缺省构造器和构造方法,以及重写toString()方法
4)创建一个dom4j的测试类:dom4jTest
由于这个需要用@Test,所以需要导入junit和hamcrest-core-1.3.jar包
package com.wufq.pojo; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.junit.Test; import java.util.List; /** * @Description 读取xml文件的内容 * @Author wufq * @Version * @Date 2021/6/18 16:35 */ public class Dom4jTest { /* 分为4步: * 第一步:通过SAXReader对象。来读取xml文件,获取Document对象 * 第二步:通过document对象获取xml的根元素对象 * 第三部:通过根元素对象。获取所有book标签对象 * 第四步:遍历每个book标签对象。然后获取到book标签对象内的每一个元素, * 在通过getText()方法拿到起始标签和结束标签之间的文本内容 * */ @Test //测试类需要引入junit的jar包 public void test1() throws Exception { SAXReader reader = new SAXReader(); Document document = reader.read("src/books.xml"); Element rootElement = document.getRootElement(); // System.out.println(element); //[Element: <books attributes: []/>] -->已经获取了books跟对象 List<Element> books = rootElement.elements("book"); //遍历每个book对象,然后获取book对象内的每个元素 for(Element book:books) { //Element.asXML() 是把当前对象转换成string类型 //System.out.println(book.asXML()); Element name = book.element("name"); Element author = book.element("author"); Element price = book.element("price"); System.out.println("书名:"+name.getText()+",作者:"+author.getText()+ ",价格:"+price.getText()); } } }
一、JavaWeb的概念
1、什么是javaWeb? 所有通过Java语言编写的程序然后可以通过浏览器访问,就叫javaweb
javaWeb是基于请求(客户端发送服务器就叫请求 Request)和响应(服务器给客户端传回的数据就叫响应 Response)来开发的
2、web资源的分类
静态资源:html,css,js,txt,MP4视频,jpg图片
动态资源:jsp页面,Servlet程序
3、常用的web服务器:tomcat,boss,Weblogic等等
4、Tomcat和servlet版本对应的关系
servlet程序2.5版本是现在使用最多的版本(xml配置),到了3.0之后就是注解版本的servlet了
二、tomcat的使用
1、Tomcat目录介绍
2、部署web工程到Tomcat中
1)第一种:只需要把web工程的目录拷贝到Tomcat的webapps目录下即可
访问:启动Tomcat后,在浏览器内输入:http://ip:port/工程名/目录名/文件名
http://localhost:8080/05_bookStatic/pages/user/regist.html
2)第二种:找到Tomcat的conf目录catalinalocalhost下,放入abc.xml文件 (这种叫:手托HTML页面到浏览器)
访问:http://ip:port/abc/ 就表示访问E:ook目录
两者的区别:
手托方式使用的协议是File://协议,file协议表示告诉浏览器直接读取后面的路径,解析展示在浏览器上即可
3、idea中web工程目录