如何从MIDlet中调用JSP页面
信息工业的下一大改革就是无线化,无线应用程序的好处在于对于一些机构的用处,可以使它们的员工走到哪里都可以高效地访问公司或机构的中心事务或业务数据。因此无线应用程序(比如MIDlet)和外部的企业系统之间的交互就变得非常重要了。但是我们怎么实现这个交互过程呢?这是摆在无线应用程序开发人员面前一个非常大的问题。
在本文中,我想通过一个例子向大家演示一下midlet如何与基于JSP的企业级系统交互。首先,我将讨论一下HttpConnect接口,这个接口可以用来建立Http连接
1.HttpConnect 接口
Connected Limited Device Configuration(有限连接设备配置。简称CLDC)。提供了一套用于网络连接的类,就是普通连接框架—一种平台独立连接框架,提供了一种分层的连接接口,它的实现操作系统由具体的设备简表提供(比如Mobile Information Device Profile(MIDP))。
MIDP通过提供支持HTTP的HttpConnection 框架来实现扩展CLDC的一般连接框架的作用。所有MIDP的应用程序实现都要求支持HTTP,这主要是因为HTTP即可以通过使用基于IP的协议(如TCP/IP)也可以通过使用非IP协议(如WAP)来实现。
所有的连接都是使用Connector类的open()方法来创建的,如果连接成功的话,这个方法就返回一个实现某种普通连接借口的对象,举一个例子吧,下面的代码段可以用来打开一个到某个URL的HTTP连接。
String url = "http://www.ora.com/whatif.jsp";
HttpConnection connection = Connector.open(url);
一旦一个连接被建立后,就可以设置属性了,然后就可以建立I/O流来发送或接收数据。举个例子,请看下面的这一小段代码,用来设置属性并建立输入/输出流。
// 设置 HTTP 属性
connection.setRequestMethod(HttpConnection.POST);
connection.setRequestProperty("IF-Modified-Since","22 Dec 2001 16:33:19 GMT");
connection.setRequestProperty("User-Agent","Profile/MIDP-1.0 Configuration/CLDC-1.0");
connection.setRequestProperty("Content-Language", "en-CA");
// 创建I/O流
InputStream is = connection.openInputStream();
OutputStream os = connection.openOutputStream();