用MIDlet激活Servlet
创始人
2024-04-13 09:50:47
0

用MIDlet激活Servlet,你可以象MIDlet激活一个CGI一样激活Servlet,本段将介绍两个例子:

第一个例子用GET操作激活Servlet,并显示结果。
第二个例子是Servlet接受用户由手机POST上来的数据

下面这个例子的内容是,FirstMidletServlet被GET方法激活并返回显示给手机。本例中并没有递交数据给Servlet, Servlet被激活后一会返回字符串“Servlet Invoked”和日期给客户端。

下面是MIDlet的代码FirstMidletServlet.java

  1. import java.io.*;  
  2. import javax.microedition.io.*;  
  3. import javax.microedition.lcdui.*;  
  4. import javax.microedition.midlet.*;  
  5.  
  6. /**  
  7. * An example MIDlet to invoke a CGI script.  
  8. */  
  9.  
  10. public class FirstMidletServlet extends MIDlet {  
  11. private Display display;  
  12. String url = "http://somesite.com/servlet/HelloServlet";  
  13.  
  14. public FirstMidletServlet() {  
  15. display = Display.getDisplay(this);  
  16. }  
  17.  
  18. //Initialization. Invoked when MIDlet activates  
  19. public void startApp() {  
  20. try {  
  21. invokeServlet(url);  
  22. } catch (IOException e) {  
  23. System.out.println("IOException " + e);  
  24. e.printStackTrace();  
  25. }  
  26. }  
  27.  
  28. //Pause, discontinue ....  
  29. public void pauseApp() { }  
  30.  
  31. //Destroy must cleanup everything.  
  32. public void destroyApp(boolean unconditional) { }  
  33.  
  34. //Prepare connection and streams then invoke servlet.  
  35. void invokeServlet(String url) throws IOException {  
  36. HttpConnection c = null;  
  37. InputStream is = null;  
  38. StringBuffer b = new StringBuffer();  
  39. TextBox t = null;  
  40. try {  
  41. c = (HttpConnection)Connector.open(url);  
  42. c.setRequestMethod(HttpConnection.GET);  
  43. c.setRequestProperty("IF-Modified-Since", "20 Jan 2001 16:19:14 GMT");  
  44. c.setRequestProperty("User-Agent", "Profile/MIDP-1.0 Configuration/CLDC-1.0");  
  45. c.setRequestProperty("Content-Language", "en-CA");  
  46. is = c.openDataInputStream();  
  47. int ch;  
  48.  
  49. // receive response and display it in a textbox.  
  50. while ((ch = is.read()) != -1) {  
  51. b.append((char) ch);  
  52. }  
  53. t = new TextBox("First Servlet", b.toString(), 1024, 0);  
  54. } finally {  
  55. if(is!= null) {  
  56. is.close();  
  57. }  
  58. if(c != null) {  
  59. c.close();  
  60. }  
  61. }  
  62. display.setCurrent(t);  
  63. }  

下面是返回“Servlet Invoked”和日期的HelloServlet代码HelloServlet.java

  1. import java.io.*;  
  2. import java.util.*;  
  3. import javax.servlet.*;  
  4. import javax.servlet.http.*;  
  5.  
  6. /**  
  7. * The simplest possible servlet.  
  8. */  
  9.  
  10. public class HelloServlet extends HttpServlet {  
  11. public void doGet(HttpServletRequest request 

以上是用MIDlet激活Servlet的两个例子。

【编辑推荐】

  1. 创建Servlet过滤器的向导
  2. 安装Servlet和JSP开发工具
  3. 扩展Future Response Servlet
  4. Servlet容器的匹配过程
  5. 浅谈user cache Servlet

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...