仓酷云

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

[学习教程] JAVA教程之J2ME开辟中怎样从MIDlet中挪用JSP页面

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

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

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

x
还有就是总有人问我到底该学习什么语言,什么语言有前途,那么我的回答是不论是C,C++,java,.net,ruby,asp或是其他语言都可以学,编程的关键不是语言,而是思想。js|页面起首,我将会商一下HttpConnection接口,这个接口能够用来创建Http毗连
HttpConnection接口
ConnectedLimitedDeviceConfiguration(无限毗连设备设置。简称CLDC)。供应了一套用于收集毗连的类,就是一般毗连框架?一种平台自力毗连框架,供应了一种分层的毗连接口,它的完成操纵体系由详细的设备简表供应(好比MobileInformationDeviceProfile(MIDP))。
MIDP经由过程供应撑持HTTP的HttpConnection框架来完成扩大CLDC的一样平常毗连框架的感化。一切MIDP的使用程序完成都请求撑持HTTP,这次要是由于HTTP便可以经由过程利用基于IP的协定(如TCP/IP)也能够经由过程利用非IP协定(如WAP)来完成。
一切的毗连都是利用Connector类的open()办法来创立的,假如毗连乐成的话,这个办法就前往一个完成某种一般毗连托言的对象,举一个例子吧,上面的代码段能够用来翻开一个到某个URL的HTTP毗连。
Stringurl="http://www.ora.com/whatif.jsp";;
HttpConnectionconnection=Connector.open(url);
一旦一个毗连被创建后,就能够设置属性了,然后就能够创建I/O流来发送或吸收数据。举个例子,请看上面的这一小段代码,用来设置属性并创建输出/输入流。
//设置HTTP属性connection.setRequestMethod(HttpConnection.POST);connection.setRequestProperty("IF-Modified-Since","22Dec200116:33:19GMT");connection.setRequestProperty("User-Agent","Profile/MIDP-1.0Configuration/CLDC-1.0");connection.setRequestProperty("Content-Language","en-CA");//创立I/O流InputStreamis=connection.openInputStream();OutputStreamos=connection.openOutputStream();
上面让我们来研讨一个例子,懂得一下怎样从MIDlet中挪用JSP,我们挪用JSP页面代码的程序段1以下所示:
代码1:
today.jsp<%!Stringname;%><% name=request.getParameter("name"); java.util.Datetoday=newjava.util.Date(); out.println("Got:"+name); out.println("Date&time:"+today);%>
这个JSP也面但愿获得一个名为name的变量的值,一旦这个值被获得,就会创立一个Date的实例,然后name和date的值就会被打到客户端中的输入流中。
如今,让我们看看怎样写一个MIDlet来挪用这个JSP页面,我们将利用POST哀求办法来挪用它,这就意味着被传送到JSP页面的数据不是利用URL编码的,而是以一段独自的信息传进,这段MIDlet代码如代码段2所示。
代码2:
InvokeJSPMidlet.javaimportjavax.microedition.lcdui.*;importjavax.microedition.midlet.*;importjavax.microedition.io.*;importjava.io.*;publicclassInvokeJSPMidletextendsMIDletimplementsCommandListener{;Displaydisplay=null;//name字段TextFieldname=null;formform;Stringurl="http://127.0.0.1:8080/examples/jsp/today.jsp";;staticfinalCommandcallCommand=newCommand("date?",Command.OK,2);staticfinalCommandclearCommand=newCommand("clear",Command.STOP,2);Stringmyname;publicInvokeJSPMidlet(){;display=Display.getDisplay(this);name=newTextField("Name:","",25,TextField.ANY);form=newform("InvokeJSP");};publicvoidstartApp()throwsMIDletStateChangeException{;form.append(name);form.addCommand(clearCommand);form.addCommand(callCommand);form.setCommandListener(this);display.setCurrent(form);};publicvoidpauseApp(){;};publicvoiddestroyApp(booleanunconditional){;notifyDestroyed();};voidinvokeJSP(Stringurl)throwsIOException{;HttpConnectionc=null;InputStreamis=null;OutputStreamos=null;StringBufferb=newStringBuffer();TextBoxt=null;try{; c=(HttpConnection)Connector.open(url); c.setRequestMethod(HttpConnection.POST); c.setRequestProperty("IF-Modified-Since","29Dec200115:17:19GMT"); c.setRequestProperty("User-Agent","Profile/MIDP-1.0Configuration/CLDC-1.0"); c.setRequestProperty("Content-Language","en-CA"); c.setRequestProperty("Content-Type","application/x-www-form-urlencoded"); os=c.openOutputStream(); os.write(("name="+myname).getBytes()); os.flush(); is=c.openDataInputStream(); intch; while((ch=is.read())!=-1){;b.append((char)ch);System.out.print((char)ch); }; t=newTextBox("Date",b.toString(),1024,0); t.setCommandListener(this); };finally{; if(is!=null){;is.close(); }; if(os!=null){;os.close(); }; if(c!=null){;c.close(); };};display.setCurrent(t);};publicvoidcommandAction(Commandc,Displayabled){; Stringlabel=c.getLabel(); if(label.equals("clear")){;destroyApp(true); };elseif(label.equals("date?")){;myname=name.getString(); try{;invokeJSP(url); };catch(IOExceptione){;}; };};};
InvokeJSPMidlet代码指定了要被挪用的JSP页面的URL,然后就创立了两个命令按钮,然后创立一个text字段,可让用户在内里输出姓名。在InvokeJSP()办法中,将创建一个到这个URL的HTTP毗连,然后再创建I/O流,MIDlet利用输入流来发送数据到JSP页面,接着再利用输出流从JSP页面中吸收数据,注重,在本例中我们将发送姓名到JSP页面中,实在它也只是向你演示一下数据怎样在MIDlet和页面之间流畅。
在代码段2中,应该注重的事变是为了使JSP页面利用getParameter()从name变量中获得数据的值,你必需设置Content-Type属性为application/x-www-form-urlencoded.
小结
本文只是演示怎样从MIDlet中挪用JSP页面,InvokeJSPMidlet还能够很简单的修正来完成挪用其他的JSP的目标。可是注重,JSP次要和HTML共同利用,可是假如你的挪动设备中的扫瞄器不克不及处置HTML的话,那末XML也是一个十分好的选择,由于MIDlet能够剖析XML文档。

前些天,在CSDN上看到了一个消息,说是ASP.NETAJAX成功在Linux上运行,这一点对我触动很大,而且引发了我许多感叹,所以想写出来分享一下。
若天明 该用户已被删除
沙发
 楼主| 发表于 2015-1-20 18:17:41 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
admin 该用户已被删除
板凳
发表于 2015-1-28 07:40:19 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
老尸 该用户已被删除
地板
发表于 2015-2-4 20:35:14 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
灵魂腐蚀 该用户已被删除
5#
发表于 2015-2-10 07:30:48 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
愤怒的大鸟 该用户已被删除
6#
发表于 2015-2-26 23:30:34 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
柔情似水 该用户已被删除
7#
发表于 2015-2-27 06:26:54 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
再见西城 该用户已被删除
8#
发表于 2015-3-8 22:51:27 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
活着的死人 该用户已被删除
9#
发表于 2015-3-16 16:42:25 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
精灵巫婆 该用户已被删除
10#
发表于 2015-3-22 23:23:05 | 只看该作者
是一种突破用户端机器环境和CPU
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-26 02:19

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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