仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 503|回复: 9
打印 上一主题 下一主题

[学习教程] 发布一篇在无线J2ME设备上完成超文本传输协定

[复制链接]
逍遥一派 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:14:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
手机用到的是用j2me所编出来的小程序。
跟着愈来愈多手提德律风和团体数字助理入手下手融进到信息高速公路之上,从挪动设备上会见Web站点变得愈来愈主要。Java创始了消耗设备中小型的贮存容量的先河,它是用于开辟手机、传呼机及其他微型设备使用程序的幻想言语。
在本文中,我们将进修怎样从一个J2ME客户机上向服务器发送一条HTTPGET哀求和一条HTTPPOST哀求。固然这只是一篇切磋性子的文章,可是我仍是假定读者已熟习Java,J2ME,和JavaMidlets(MIDP使用程序)的运作机制。我们将利用J2ME的MIDP简表,并使用SUN的J2ME的无线使用程序开辟工具包编译、设置和测试我们的使用程序。关于HTTP服务器,任何WWW地点都能够被会见,可是默许时我们将利用一个复杂的JavaServlet来前往我们的HTTP哀求的细节。
怎样利用J2ME客户机向Web服务器和相似的撑持HTTP的服务器发送HTTP哀求呢?谜底就是利用可在javax.microedition.io程序包中可找到的J2ME的收集类。本文就想详细论述这个成绩。
本文概述∶
利用J2ME计划无线收集使用程序
.发送一条超文本GET哀求
.发送一条超文本POST哀求
.利用J2ME举行无线收集编程
Java的收集编程才能是相称强健的。Java2尺度版(J2SE)在java.io和java.net程序包中界说了100多个接口程序,类和非常。经由过程这些库完成的功效是很壮大的,可是这只合用于传统的盘算机体系,这些盘算机体系有壮大的CPU处置才能,疾速的内存和耐久的数据贮存,可是这些在年夜多半的无线设备上是不实际的。因而,J2ME界说了这些函数的子集,并供应了一套用于收集和文件会见的流动的程序包---javax.microedition.io程序包。因为可挪动设备品种单一,这个程序包仅仅界说了一套接口,而为每一个可挪动设备供给厂商留下了实践的使用程序接话柄现。这就在可移植性和设备特定特性的使用中找到了一个最好的均衡点。
界说在javax.microedition.io类中的笼统收集和文件输出输入框架称为通用毗连框架(GenericConnectionFramework,简称GCF)。GCF界说了一套有关笼统化的内容来形貌分歧的通讯办法。第一流的笼统被称作毗连(Connection),还声了然六个接口(四个是间接的,两个是直接的)。这七个接口就组成了J2ME的CLDC的一部分,CLDC是年夜多半的能利用Java的无线设备利用的设置。计划这个设置的目标就是为一切的CLDC设备(手提德律风,双向传呼机,高档的PDA等等)供应公用的收集和文件输出输入才能。固然GCF的目标是公用收集和文件输出输入框架,可是临盆商其实不请求完成GCF中声明的一切的接口。有的厂家能够决意只撑持socket毗连,而别的的厂家能够选择只撑持基于数据报的通讯。为了增进超过相似安装的可移植性,MIDP标准请求一切的MIDP设备完成HttpConnection接口。HttpConnection不是GCF的一部分,可是它是从GCF的一个接口ContentConnection衍生出来的。我们将利用HttpConnection接口机关我们样本使用程序。
发送一个HTTPGET哀求
这一节将重点注释程序代码,鄙人一节中我们将只报告被用来发送HTTP哀求并检索由服务器前往的呼应通用毗连框架接口和HttpConnection接口。创立MIDP用户界面的程序代码见附录。
我们先要界说一个办法来放用于发送HTTPGET哀求的代码。由于这个办法中的有些操纵有潜伏的抛出IOException的大概,以是我们将把如许的不测(exception)抛给挪用办法。
publicStringsendHttpGet(Stringurl)throwsIOException{
HttpConnectionhcon=null;
DataInputStreamdis=null;
StringBuffermessage="";
try{
第一步是利用Connector类翻开一个到服务器的毗连,这是GCF的关头。我们将把这个毗连强迫转换为必要的范例,在本例中为HttpConnection范例。
hcon=(HttpConnection)Connector.open(url);
接上去,我们失掉HttpConnection上的一个DataInputStream,同意我们一个字符一个字符的读取服务器的呼应数据。
dis=newDataInputStream(hcon.openInputStream());
利用DataInputStream的read()办法,服务器呼应的每一个字符都被会合起来放进StringBuffer对象。
intch;
while((ch=dis.read())!=-1){
message=message.append((char)ch);
}
最初,毗连对象被净空以保留资本,而信息从这个办法中前往。
}finally{
if(hcon!=null)hcon.close();
if(dis!=null)dis.close();
}//停止try/finally代码段
returnmessage.toString();
}//停止sendGetRequest(String) 怎样发送一个HTTPPOST哀求
<p>
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。
爱飞 该用户已被删除
沙发
发表于 2015-1-20 18:19:26 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
活着的死人 该用户已被删除
板凳
发表于 2015-1-28 05:25:26 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
不帅 该用户已被删除
地板
发表于 2015-2-5 11:14:38 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
老尸 该用户已被删除
5#
发表于 2015-2-11 10:59:30 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
谁可相欹 该用户已被删除
6#
发表于 2015-3-2 11:15:06 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
第二个灵魂 该用户已被删除
7#
发表于 2015-3-6 20:20:52 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-11 20:39:03 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
飘飘悠悠 该用户已被删除
9#
发表于 2015-3-19 11:47:27 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
逍遥一派 该用户已被删除
10#
 楼主| 发表于 2015-3-27 21:12:34 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 20:40

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表