JavaWeb XML&HTTP协议

一、XML

xml: 可扩展标记语言: 标签可以任意定义,不需要进行编译,浏览器就可以解析

xml与http的区别:
1.xml 标签是可以任意定义 但是 html 的是不可以的
2.xml是数据的存储(配置文件) html 主要是做页面的显示
3.html5 比较火的前端技术有有xml+html结合,html5是依赖于xml

xml 的一个基本的结构: 1.xml的声明 2. 文档的基础信息(标签节点 属性节点 文本节点)

  1. 只能存在一个跟节点
  2. 标签一般都是成双的 如果是单个必须是结束标签
  3. 标签严格区别大小写
  4. 严格遵循驼峰命名
  5. 要注意标签与标签之间的缩进与空格
    在这里插入图片描述
    xml: 验证性解析错误: 解析xml的一些基本的语法
    非验证性解析错误 :dtd 与就是规定xml里只能写这些东西

xml 中的一些特殊的符号:

    <     &lt;
    >     &gt;
    &    *amp;
    '      &aops;
    "     &quot;

xml 解析 的常见的方式
dom dom4j =》 是把这个xml都会加载到内存里,然后对其进行解析(web) dom 4j 就是对dom的一个优化
sax ==>边加载,边解析(移动端)

 dom 解析 ==>  1.第一步也就是需要把xml转换成一个dom树 
                具体的步骤 1.得到解析器工厂对象DocumentBuilderFactory
                           2.得到解析器对象
                           3.调用其方法把其转换成doc 对象  db.parse(file);  需要传递一个文件对象的参数

               2.得到xml的信息: 1.根据getElementsByTagName()方法来获取到 所有的brand节点
                                2.遍历集合(NoteList) 获取集合的长度是getLength()
                                3.得到具体的节点
                                4.转换哼元素节点 获取元素中具体的值 getAttribute("name")
                                5. 获取下面的子节点:getChildNodes();
                                6.注意:判断其节点的类型 Node.ELEMENT_NODE

                 3.增加阶段的具体步骤:1.创建一个节点
                                      2.设置其属性
                                      3.添加父子关系
                                      4.一层一层添加之后追加到根节点

                  4 保存到xml里 : 1.得到其转换的工厂TransformerFactory
                                  2.得到准换器Transformer
                                   3.调用其方法  tf.transform() 需要传递两个参数  第一个是DOMSource(不要忘记把dom对象放入)  第二个参数是:StreamResult

                  5.删除 :   1.根据getElementsByTagName()方法来获取到 所有的brand节点
                                2.遍历集合(NoteList) 获取集合的长度是getLength()
                                3.通过父节点来删除自己

                  6.修改与删除是类似的(仿照)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

 dom4j 解析xml  其实就是对dom的封装  简化了代码 需要导入jar包
                    dom4j  的核心的对象  :    SAXReader    sr.read(file);    把一个 文件转化成一个dom对象(是在内存里)
                    XMLWriter   .write(doc)  把dom 对象写入在文件了
                    OutputFormat  格式  工厂类  主要是写入的编码格式进行设置 
                    常规的一些方法:  getRootElement();    获取到根节点的方法
                    elementIterator() 把多个集合转换成迭代器
                    elementType.attributeValue("name")  根据节点来获取到具体的值
                    addElement("Brand");      创建一个节点的对象
                    elBrand.getParent().remove(elBrand);   通过父节点来删除子节点

dom4j解析:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、HTTP协议

http协议介绍

HTTP协议(HyperText Transfer
Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协 议,所有的WWW文件都必须遵守这个标准。
HTTP是基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)
HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图http/https
HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服器模型。HTTP是一个无状态的协议。
HTTP默认的端口号为80,HTTPS的端口号为443。
在这里插入图片描述
超文本传输协议 具有一次性连接 、 无状态连接等特点;主要是对文本进行传输(也可以对文件进行传输 需要在请求头里设置传输的格式)

tcp 慢 稳定 不会丢失数据 ==> 三次握手
udp 快 会丢失数据(发包裹)
两者都是socket 协议(tomcat就是基于socket 进行编程的)
在这里插入图片描述
http 是目前最通用的网络协议
http 协议就是网络传输的一种规范 :无非就是客户端发送请求 服务器做出相应
http 协议的版本分为1.0 每一次连接请求都需要去创建一个连接, 而且每次只能请求一个数据
1.1 每次都需要 去创建一个连接 ,每次可以请求多个 多个数据

         http  协议:  请求的协议 (也就是客户端传输发到服务器的一个规范或者约束)
                      响应的协议(也就是服务器给客户端的响应的约束或者规范)
        就是以二进制进行传输     大部分都使用http1.1 的版本 ,1.1 版本效率更高


请求的协议  分为 请求行   请求头    请求内容体

                               get :传递的参数在放在请求头上      不安全       get 与一般用于文件的下载     get提交数据是有长度限制
 
                               post   传递到参数是放下内容体中    安全性高     post   提交数据        post 是没有长度限制的

                           响应的协议:  响应行 响应头 响应体
 
                                     响应行 :http 1.0  200  ok      第一个是表示连接的版本   第二个是表示连接的状态   ok 表示成功
                                     响应的状态码: 1. 200  成功
                                                   2. 404 表示 页面找不到
                                                   3 302   表示重定向
                                                   4. 500   表示代码有错

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值