<1>MIDP支持Http1.1 协议, 使用Get 和 Post与网络进行通信,产生Http报头和数据, 为了使报文清晰,在http请求是应包含content-type属性
<2>:j2ee与j2me连接原理
解释:
在客户端,用户的手机需要与Internet进行连接,可以采用GPRS、Wi-fi或者3G网络等方式,用户只需下载(如使用OTA技术)客户端MIDlet程序,安装到手机上就可以与服务器进行连接并发出访问请求;Web服务器使用Servlet容器来处理客户端的连接和请求,然后再将这些请求发送到企业级服务器上,企业级服务器使用EJB进行会话,处理请求,并通过JDBC连接到数据库系统上;数据库系统根据SQL查询语句,将生成的查询结果数据集发送回企业级服务器;企业级服务器把接收到的信息提交给Web服务器,Web服务器再通过HTTP将信息返回给客户端;最后,客户端MIDlet将查询结果显示在用户的手机屏幕上。所有的访问并不直接访问后台的应用资源和数据资源,而是通过中间层进行访问,这样既可以保证后台数据的安全性,又可以通过中间层的调度保证系统性能和事务的一致性。
<3>: j2me联网的两种方法 (1) cmnet (2): cmwap :
(1) cmnet跟电脑上联网没什么区别, 用如下代码就OK了
try {
http = (HttpConnection) Connector.open(url);
} catch (IOException e) {
e.printStackTrace();
}
(2) cmwap联网:
对于一些机型,直接连网会联不上, 这是因为你的机子不支持cmnet联网方式
也许你会发现不经过修改,直接连接的方式也可以在一些cmwap的设备上(只支持cmwap的手机多为低端手机) 也可以运行,
这是因为在底层进行了一些转换. 如果没有转换的话,你必须要经过手动转换.
假设你原来要请求的页面是:htpp://www.testwap.com/test/try.jsp
那么你会用这句话连接
HttpConnection httpConnection = (HttpConnection)Connector.open(“http://www.testwap.com/test/try.jsp”);
但是为了转成CNWAP的联网形式 你必须这么写
HttpConnection httpConnection = (HttpConnection)Connector.open(“http://10.0.0.172:80/test/try.jsp”);
接着再写
httpConnection.setRequestProperty("X-Online-Hostwww.testwap.com");
httpConnection.setRequestProperty("Accept","*/*");
这样就ok了
分析有以下几种可能。
1.移动那边可能对于CNNET来说,几乎是对所有的协议进行开放。比如(Socket,Http)跟所有端口。
2.对于CNWAP,我估计只开放http协议以及80端口,其他的都封闭,也就是CNWAP只能访问http协议。
由于我测试的IP地址进行测试,所以它可以直接找到。对于非IP地址我没测试果。也许CNWAP不能解释域名也说不定,这点我就不清楚了。