A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 会飞dê鱼 初级黑马   /  2019-1-24 12:48  /  569 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

XML可扩展标记语言
组成部分
        1. 文档声明
                1. 格式:<?xml 属性列表?>
                2. 属性列表:
                        version 版本号  encoding编码方式  standalone 是否独立 yes不依赖其他文                件  No依赖其他文件
        2.文本 cdata区:在该区域中的数据会被原样展示   格式<![CDATA[]]>
约束  DTD: 一种简单的约束技术
          Schema:一种复杂的约束技术
        3解析 操作xml文档,将文档中的数据读取到内存中
                常用方式 1 dom 将标记语言一次加载进内存,在内存形成一个dom树  
                                                优点 方便可以增删改  缺点 占内存
                                2 :SAX 逐行读取,基于事件驱动的。 不占内存 只能读取,不能增删改。
        4:常用的解析器
                1:JAXP:支持dom和sax
                2: DOM4J:
                3:Jsoup:
                        获取path
        String path=JsoupDeom1.class.getClassLoader().getResource(“student.xml”).getPath();
        解析   Document doc=Jsoup.parse(new FIle(path),”utf-8”);
        获取元素对象 element    Elements ele=document.getELementsByTag(“name”);数组
        获取内容  String name=ele.get(0).text();
                4:Pull Android操作系统内置的解析器,sax
         对象的使用:
            1. Jsoup:工具类,可以解析html或xml文档,返回Document
                parse:解析html或xml文档,返回Document
                    parse(File in, String charsetName):解析xml或html文件的。
                    parse(String html):解析xml或html字符串
                    parse(URL url, int timeoutMillis):通过网络路径获取指定的html或xml的文档对象
            2. Document:文档对象。代表内存中的dom树
                获取Element对象
                    getElementById(String id):根据id属性值获取唯一的element对象
                    getElementsByTag(String tagName):根据标签名称获取元素对象集合
                    getElementsByAttribute(String key):根据属性名称获取元素对象集合
                    getElementsByAttributeValue(String key, String value):根据对应的属性名和属性值获取元素对象集合
            3. Elements:元素Element对象的集合。可以当做 ArrayList<Element>来使用
            4. Element:元素对象
                1. 获取子元素对象
                    getElementById(String id):根据id属性值获取唯一的element对象
                    getElementsByTag(String tagName):根据标签名称获取元素对象集合
                    getElementsByAttribute(String key):根据属性名称获取元素对象集合
                    getElementsByAttributeValue(String key, String value):根据对应的属性名和属性值获取元素对象集合
                2. 获取属性值
                    String attr(String key):根据属性名称获取属性值
                3. 获取文本内容
                   String text():获取文本内容
                    String html():获取标签体的所有内容(包括字标签的字符串内容)
            5. Node:节点对象
                是Document和Element的父类
      快捷查询方式:
            1. selector:选择器
                使用的方法:Elements    select(String cssQuery)
HTTP 超文本传输协议
        请求消息数据格式
                1:请求行  请求方式 请求URL 请求协议/版本\
                2:  请求头 user-Agent:服务器版本信息
                                   Referer:  告诉服务器我从哪里来  作用防盗链;统计工作.
                3: 请求空行
                4:请求体  封装post请求消息的请求参数的
Request
        请求行  1获取请求方式  getMethod()
                        2 获取虚拟路径  getContextPath()
                        3 获取servlet路径 getServletPath()
                        4 获取get方式请求参数 getQueryString()
                        5 获取请求URI  getRequestURI() 统一资源标识符
                                        StringBuffer getRequestURL()同一资源定位符
                        6获取协议及版本:getProtocol()
                        7 获得客户机的IP地址:getRemoteAddr()
        请求头  getHeader(String name);通过请求头的名称获取请求头的值
                        Enumetatio<String>getHeaderNames()获取所有的请求头名称
        请求体
                        获取流对象
                                BufferedReader  getReader(): 获取字符输入流,只能操作字符数据
                                ServletInputStream getInputStream() 获取字节输入流。可以操作所有类型                        的数据
通用功能
                1String getParameter(String name)  根据参数名称获取参数值
                2 String []getParameterValues(String name)  根据名称获取参数值的数组
                3. Enumeration<String> getParameterNames():获取所有请求的参数名称
                        4. Map<String,String[]> getParameterMap():获取所有参数的map集合
                request.setCharacterEncoding("utf-8");  request乱码的处理
Reponse
        1响应行
                1 组成 :协议/版本 响应状态码 状态码描述
                2响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。
                 1xx 服务器接收客户端消息,但没有接收完成 ,等待一段时间发送1XX状态码
                 2XX 代表成功
                 3xx 重定向(302) ,(访问缓存)304
                 4xx 客户端错误
                                (404)请求路径没有对应的资源
                                (405)请求方式没有对应的doxxx方法。
                   5XX  服务器错误  (500) 服务器内部出现异常
        2响应头
                content-Type:服务器告诉客户端本次响应体数据格式以及编码格式
                content-disposition 服务器告诉客户端以什么格式打开响应体数据
                         in-line默认值 在当前页面内打开
                        attachment;filename=xxx:以附件形式打开响应体。 文件下载使用
        Responsed对象
                1:设置响应行
                        1. 格式:HTTP/1.1 200 ok
                        2 设置状态码: setstatus(int sc)
                2:设置响应头:setHeather(String name, String value)
                3:设置响应体:
                        获取输出流  PrintWriter getWriter()  字符输出流
                                                ServletOutputStream getOutputStream()
        服务器输出字符数据到浏览器
                乱码的设置 response.setContentType(“text/html;charset=utf-8”);
ServletContext对象 代表整个web应用
1 获取 this.getServletContext();
2 获取MIME类型: 在互联网通信过程中定义的一种文件数据类型
    String getMimeType(String file)
3 获取真实(服务器)路径
                String getRealPath(String path)
                String b=context.getRealPath(“/b.txt”); web 目录下资源访问
                        E:\java\basic_code\out\artifacts\it_cast_web_war_exploded\b.txt
                String b=context.getRealPath(“/WWB-INF/a.txt”); web 目录下资源访问
       

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马