【JavaWeb xml&tomcat 05】

一、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工程目录

原文地址:https://www.cnblogs.com/frankruby/p/14898637.html