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
文本:
有特殊符号需要转义
<---- < >---- > 空格---
如果有大量的符号需要转义,建议使用<![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)
从上往下,边读边解析,靠事件驱动
节约内存,效率高
解析过的内容,数据未保存,回不去了。
编码相对麻烦。