HTTP编程、XMl

HTTP编程    (jsp)
        B/S 
        1、地址输入网址,想服务器发送请求
        2、服务器响应,格式:html,json,文件
        3、浏览器解析html
    
    URL 一个统一资源定位符    
        协议:            域名                        项目/文件夹/文件
        http:/https:    www.baidu.com[端口号]    
        URL(String spec) 根据 String 表示形式创建 URL 对象。
        
        URLConnection openConnection()  
    URLConnection 代表应用程序和 URL 之间的通信链接
        1、通过在 URL 上调用 openConnection 方法创建连接对象。 
        2、处理设置参数和一般请求属性。
            User-Agent 
            setUseCaches(boolean usecaches)  
            void setConnectTimeout(int timeout)  
        3、使用 connect 方法建立到远程对象的实际连接。
             connect()
        4、远程对象变为可用。远程对象的头字段和内容变为可访问。 
            InputStream getInputStream()返回从此打开的连接读取的输入流。 
    HttpURLConnection
         int getResponseCode()  获取响应状态码
         disconnect() 
         
xml(extensible markup language) 可扩展的标记语言
    标记语言,不同于编程语言
    html属于标记语言
        固定的标签 p img 
        不区分大小写
        用途:表现数据
    xml
        可自定义标签 stu age
        语法严格:区分大小写
        用途:存储数据,传输数据。
            独立于操作系统,独立于编程语言。

    节点Node:有不同的类型
        元素Element   属性Attribute  文本Text  注释Comment
    文本:
        有特殊符号需要转义
        <---- &lt; >---- &gt;  空格---&nbsp;
        如果有大量的符号需要转义,建议使用<![CDATA[ 需要转义的内容  ]]>
        
    xml的解析
        1、DOM(document object model)文档对象模型 层次模型 树模型
            把xml加载到内存,加载成一个倒立的树。访问效率比较高
            缺点:文件大,占内存,文件关系比较复杂,解析也麻烦
            jdk:
                DocumentBuilder
                此类的实例可以从 DocumentBuilderFactory.newDocumentBuilder() 方法获取
                获取此类的实例之后,将可以从各种输入源解析 XML。这些输入源有 InputStreams、Files、URL 和 SAX InputSources
                Document parse(File f)  
                    Document 接口表示整个 HTML 或 XML 文档
                    Element getDocumentElement()  获取根节点
                Node 
                    NodeList getChildNodes()  
                    String getTextContent()  获取元素节点的文本内容
                Element
                    String getAttribute(String name) 
            dom4j (dom for java) 
                1、添加jar包
                2、创建对象SAXReader reader=new SAXReader();
                3、解析reader.read(file)
                4、获取根节点Document.getRootElement()
                    List elements() 获取所有子节点
                    attributeValue("id") 根据属性名获取属性值
                    element("age")根据子元素的标签名获取子元素
                    getText() 获取元素的文本
        2、SAX(Simple for xml)
            从上往下,边读边解析,靠事件驱动
            节约内存,效率高
            解析过的内容,数据未保存,回不去了。
            编码相对麻烦。

おすすめ

転載: blog.csdn.net/qq_52253798/article/details/119416413