用MIDlet激活Servlet

简介: <p style="">用MIDlet激活Servlet,你可以象MIDlet激活一个CGI一样激活Servlet,本段将介绍两个例子:</p> <p style="">第一个例子用GET操作激活Servlet,并显示结果。<br style="clear:both; width:0px; height:0px"> 第二个例子是Servlet接受用户由手机POST上来的数据</p>

用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的两个例子。


目录
相关文章
|
4月前
|
XML Java 数据格式
Servlet 教程 之 Servlet 自动刷新页面 1
Servlet教程展示了如何使用Java Servlet自动刷新页面。通过response.setIntHeader(&quot;Refresh&quot;, 5)方法,页面将在5秒间隔自动刷新。给出的实例中,Servlet每5秒更新并显示当前时间。需编译Servlet并在web.xml配置,然后访问http://localhost:8080/TomcatTest/Refresh以观察效果。
34 10
|
4月前
|
XML 存储 数据库
Servlet 教程 之 Servlet 点击计数器 1
Servlet教程展示了如何创建一个简单的网页点击计数器。在Servlet的`init()`方法中初始化全局变量`hitCount`,每次`doGet()`调用时递增。可选地,使用数据库持久化计数器并在`destroy()`中保存。若要按session计数,检查`isNew()`。实例中,Servlet响应包含页面标题和当前点击次数。通过编译Servlet并配置`web.xml`,访问`http://localhost:8080/TomcatTest/PageHitCounter`可测试计数器。
46 5
|
4月前
|
XML 数据格式
Servlet 教程 之 Servlet Session 跟踪 3
Servlet教程展示了如何使用HttpSession进行Session跟踪,以保持Web服务器与客户端的会话状态。当不存在Session时,代码创建一个并获取其创建及最后访问时间。Servlet `SessionTrack`检查是否为新访问者,更新访问计数和用户ID,并显示Session详细信息,包括ID、创建及最后访问时间。配置文件`web.xml`定义了Servlet映射。在浏览器中访问`http://localhost:8080/TomcatTest/SessionTrack`可查看效果。
17 1
|
4月前
|
存储
Servlet 教程 之 Servlet Session 跟踪 1
Servlet Session跟踪教程介绍了在HTTP无状态特性下保持客户端与服务器会话的三种方法:Cookie、隐藏表单字段和URL重写。Cookie通过分配唯一ID但不适用于所有浏览器;隐藏表单字段在表单提交时维持跟踪,但不适用于常规链接;URL重写将session ID添加到URL中,对无cookie支持的浏览器更友好,但会导致静态页面URL动态化。
17 1
|
4月前
|
存储 容器
Servlet 教程 之 Servlet Session 跟踪 2
Servlet教程介绍了如何使用HttpSession进行会话跟踪。HTTP本身无状态,但通过HttpSession接口,Servlet容器能在多个页面请求间识别用户并存储信息。调用HttpServletRequest的getSession()获取HttpSession对象。
16 0
|
4月前
|
应用服务中间件
Servlet 教程 之 Servlet Session 跟踪 4
Servlet教程讲解了如何进行Session跟踪,HTTP协议本身无状态,但可通过以下方式维持会话:删除特定属性、整个Session或设定超时时间(使用setMaxInactiveInterval())。此外,可使用logout注销用户,或在web.xml配置全局超时。在Servlet中,getMaxInactiveInterval()返回Session超时(以秒计),例如,web.xml设为15分钟,则返回900。
28 0
|
4月前
Servlet3.0+环境下使用注解注册Servlet、Filter和Listener组件
Servlet3.0+环境下使用注解注册Servlet、Filter和Listener组件
58 2
|
前端开发 JavaScript 小程序
Servlet 技术--ServletConfig类--ServletContext 类--HTTP 协议
Servlet 技术--ServletConfig类--ServletContext 类--HTTP 协议
49 0
|
XML Java 应用服务中间件
JSP项目报错在build path里找不到javax.servlet.http.HttpServlet的解决方法
JSP项目报错在build path里找不到javax.servlet.http.HttpServlet的解决方法
JSP项目报错在build path里找不到javax.servlet.http.HttpServlet的解决方法
Servlet学习(三):通过继承HttpServlet类创建Servlet程序
Servlet学习(三):通过继承HttpServlet类创建Servlet程序
230 0
Servlet学习(三):通过继承HttpServlet类创建Servlet程序