版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章基于HTTP协议的网络开发,主讲教师:贾震斌,本章教学目标,了解HTTP协议传输数据的基本步骤; 掌握基于HTTP协议的J2ME网络连接编程步骤及方法。,本章学习建议,J2ME中基于HTTP协议的网络连接随着3G时代的来临,已经越来越成为手持移动设备主流的网络连接方式,本章内容教材限于篇幅比较简略,学习本章内容应注意立足教材面向课外,充分利用图书、互联网上的资源,扩展知识结构,提高实际开发能力。,本章目录,7.1 HTTP协议概述 7.2 建立HTTP连接 7.3 本章小结 习题,7.1 HTTP协议概述,7.1.1HTTP连接状态,HTTP协议称为超文本传输协议,一次完整的HTTP连接
2、过程有4个步骤: 连接:客户端与服务器建立连接; 请求:客户端向服务器发送请求,请求有两种传输方式:get和post; 应答:服务器接受客户端请求进行相关处理,并把处理结果发送给客户端口; 结束:一次连接结束,客户端与服务器断开连接,以便其他客户端设备可以连接到服务器。,7.1.2HTTP请求方式,当客户端与服务器建立连接后,客户端会向服务器发送请求信息。HTTP协议中客户端向服务器发送信息的基本格式: 1. 请求行:是HTTP协议发送信息的第一行,而且只有一行,包括以下部分: 请求方式:可以是GET、 POST 、HEAD或其他扩展方法 URL:请求的目标地址 HTTP协议版本号:通常是HT
3、TP/1.0或者HTTP/1.1 例:GET HTTP/1.0 2. 头信息:又称元信息,系统将自身的设置信息以头信息的形式发送,信息以“名称:值”的形式组成,可以有多个,也可以没有,还可以自己定义头信息。在J2ME开发时为了减少流量,就是尽量减少头信息。 例:Host: 请求头|实体头:这部分可以是请求头或实体头。请求头用于告诉服务器如何解析本次请求,包括用户可以接受的数据类型、压缩方法和语言等;实体头包含实体信息类型、长度、最后修改时间、数据有效期等 3. 空行:CRLF,即回车换行 4. 实体 :实体是具体请求或应答内容。实体数据在以POST传递信息时,存储传递给服务器的参数内容,在以G
4、ET方式进行请求时,实体数据这空。,HTTP协议响应信息,服务器在处理完客户的请求后,要向客户机发送响应消息,HTTP协议的响应消息格式与请求格式类似: 1. 状态行 HTTP版本号 状态码:服务器对客户端的响应信息以数字代码形式给出,由3位整数组成,第1位表示信息类型,1xx为保留字段,一般不使用,2xx表示请求成功接收,3xx表示为了完成请求需客户端进一步细化请求,4xx表示客户端错误,5xx表示服务器错误。响应信息的其余2位表示代号的含义参见教材p.130131。 原因叙述:信息原因的说明 2. 头信息 响应头|实体头:响应头主要是描述服务器的信息、重定向信息等;实体头包括实体信息类型、
5、长度等信息 3. CRLF:回车换行 4. 实体:响应的具体内容,如果服务器是响应浏览器的请求,这部分通常就是网页内容。,HTTP协议的三种请求方式,GET:是最常用的一种方法,其后面跟随一个URL链接,常用于向服务器请求一个静态网页,服务器接受请求后返回其请求的文档。 HEAD:向服务器发送请求,但服务器不会返回资源。 POST:用于向服务器发送大量数据,也可以接收服务器的大量数据,通常该方法与CGI程序或Servlet这类服务器端的程序配合,完成数据的发送或接收,如向服务器请求一个动态网页。,7.2 建立HTTP连接,J2ME连接服务器的三个步骤: 建立连接:向服务器发送连接请求 连接成功
6、:等待服务器响应 关闭连接:关闭与服务器的连接,释放资源,建立连接方法,在J2ME中使用HTTP协议进行编程,需要使用HttpConnection 接口来实现。 调用Connector的静态方法open()建立与服务器的连接: HttpConnection hc=(HttpConnection) Connector.open(URL网址),输入字节流方法,连接成功以后可以利用openInputStream()得到InputStream输入字节流,获得服务器端向客户端发送的数据,建立HTTP连接的实例一,设计程序读取网址为/test/test.txt的网络文件内容显
7、示在文本域中,参见实例项目HttpTest 编程思路: 设置一个文本域TextBox,为其建立一个exit菜单及Command命令,同时为文本域设置监听器CommandListener 程序中利用Connector的open()方法打开网址,获得字节输入流,循环读取字节输入流中的字节,将这些字节转换成字符连接成一个字符串,最后将字符串显示在文本域中 注:HttpConnection连接方式也可以改为通过StreamConnection方式,方法如下: StreamConnection sc=(StreamConnection)Connecor.open(“/tes
8、t/test.txt”) 注意:如果连网的话,上面语句中的url可以必用其他网址,但要注意某些网站的网页设计使用了某些特殊技术,可能无法正常获取会造成程序运行失败,建立HTTP连接的实例二,将实例一改为用GET传输方法访问ASP网页,参见实例项目IDTest,建立HTTP连接的实例三,本实例主要特点是能显示中文字符,通过下面的方法将字符集改为GB2312: String str=new String(content.getBytes(ISO8859-I),gb2312); 关于J2ME程序的中文编码问题建议通过网络搜索了解更多信息,如 J2ME中文编码 问题 注意:本书中该实例中编程中有错,会造成程序无法正常运行,正确的代码已在程序中给出。,7.3 本章小结,本章主要介绍了通用连接框架中如何进行HTTP网络连接,习题,1. 什么是HTTP协议?简述HTTP协议连接过程。 2. 服务器端对客户端请求发出响应形式是什么? 3. HTTP协议中客户端向服务器端发送信息时的请示方式主要有哪几种?举例说明J2ME的HTTP连接中GET传输方式的作用。 4. 在J2ME中使用HTTP协议进行编程,需要调用Connector的静态方法open()建立与服务器的连接对象接口是什么? 5. 掌握“7.2 建立HTTP连接”中各程序功功能。,实验四 基于HTTP协议书的网络编程,实验名称
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装饰材料质量追溯体系方案
- 森林康养基地艺术创作体验方案
- 农产品检测服务客户反馈机制方案
- 2026年温州大学附属学校、温州中学附属初中面向社会公开招聘教师31人备考题库及一套参考答案详解
- 2026福建泉州鲤城区常泰街道社区卫生服务中心编外工作人员招聘2人备考题库及完整答案详解一套
- 2026西北工业大学国际合作处招聘非事业编制自聘人员1人备考题库(陕西)附答案详解(研优卷)
- 2026山东滨州市财金投资发展集团有限公司春季校园招聘备考题库含答案详解(巩固)
- 攀枝花钒钛高新技术产业开发区管理委员会 乡村规划建筑师招聘备考题库附答案详解(研优卷)
- 2026广东华南师范大学招聘44人备考题库(编制)附答案详解(巩固)
- 2026上海复旦大学先进材料实验室程熠课题组招聘全职博士后2人备考题库附答案详解(能力提升)
- 2025年公安机关基本级执法资格考试真题试卷(含答案)
- (2026年课件合集)教科版三年级科学下册全册教案
- 2026年上海市静安区高三下学期二模化学试卷和答案
- 食品抽检工作方案
- 产业园区招商引资与运营
- 2026年中央一号文件考公50道核心考点题目及解析(附:答案)
- 部队内部物业管理制度
- 管道施工施工安全防护方案
- 2024人教版八年级英语下册Unit 1-8作文16篇范文
- 口岸知识教学课件
- 2026年广东省茂名市高三年级第一次综合测试英语(含答案)
评论
0/150
提交评论