以前的视频都是本地小程序,没有涉及到网络。

今天就演示一下 J2me和Servlet之间的相互通讯,j2me手机作为客户端,servle作为服务端。

做一个远程登陆项目,首先理解下思路,也就是数据传送的流程。

1, 首先使用j2me程序的手机发送自己的名字到 servlet服务器端。

2, servlet接受到发来的信息,进行验证,成功则发送一条信息,登陆成功。

3, j2me 接受服务器 验证后的数据 再进行一些操作。

基本流程就是上面所说的, 由于涉及的内容比较多,我们要分2部分来演示该教程。

第一部分 是 编写和配置 Servlet服务端。

具体编写 Servlet 中的代码我就不多说了,这是J2EE方面的教程了,我们重点还是关心
j2me方面的,不过部署方面我会简单详细的演示的。

Servlet 的部分代码还是要提一下的。

MyServlet.java 我这里已经有写好的 Servlet 文件了,

 ServletInputStream input_Stream = request.getInputStream();
 DataInputStream d_Inputstream = new DataInputStream(input_Stream );
 String data_MIDlet = d_Inputstream.readUTF();
 d_Inputstream.close();

 System.out.println( "从手机上接收过来的信息:" + data_MIDlet  );

这段代码是读取 手机发送过来的名字,也就是接收方面的。

接收后 String record_String = new String( data_MIDlet + " ,成功登陆"  );
就会发送 record_String 字符串返回给 手机, 让使用手机的人知道 已经登陆成功了。

 response.setContentType("application/octet-stream" );
 response.setContentLength( data.length );
 response.setStatus( response.SC_OK );
 OutputStream out_Stream = response.getOutputStream();
 out_Stream.write( data );
 out_Stream.close();
通过response把信息发送给手机的程序。

===========================

那么如何部署,运行 Servlet 呢? 这可不是一般的.java 文件,

这要借助 Tomcat来部署运行,还有编译的时候要使用到j2ee的包,才能编译成功。

例如我们现在就编译一下是否成功, 放在C盘根目录下,比较方便

然后我们进入 cmd 。开始-》运行-》输入cmd确定

cd \ 表示进入 C盘根目录了。

C:\>dir  列出所有文件

2009-03-28  21:21             1,383 MyServlet.java
可以看到

然后 javac Myservlet.java  出现一大堆错误,呵呵

MyServlet.java:4: 软件包 javax.servlet 不存在
import javax.servlet.*;
^
MyServlet.java:5: 软件包 javax.servlet.http 不存在
import javax.servlet.http.*;
^
那是因为找不到需要的包啊。

不过不用担心 tomcat 有提供需要的包。

下面安装 tomcat5.5 ,这也可以说不叫安装吧,因为我找的这个版本解压就可以用
到时我放上 www.17rumen.com 网站上去, 和视频文件 放在同一个下载页面吧,就可以下载了。

或者你们也可以到网上下载。好,我把它解压到C盘根目录。

想编译刚才的程序,还要配置环境变量。看我操作,

在classpath 最后加入 ;C:\apache-tomcat-5.5.20\common\lib\servlet-api.jar

然后确定,再编译 MyServlet.java文件  , 要先关闭 当前的cmd 窗口。

C:\>javac MyServlet.java
注意: MyServlet.java 使用了未经检查或不安全的操作。
注意: 要了解详细信息,请使用 -Xlint:unchecked 重新编译。

这个可以不用管它,成功编译了。

========================================
下面进行部署,也就是在 tomcat下运行 MyServlet

C:\apache-tomcat-5.5.20\webapps   目录下新建 j2me_servlet 文件夹,小写吧,比较习惯

然后进入文件夹 再新建一个 WEB-INF文件夹, 再进去新建一个文件夹 classes 和一个 web.xml文件。

呵呵,要新建的东西还不少啊。

然后就是编写 web.xml 了,我们这里为了演示就可以简单写了。

记事本打开 web.xml 文件 , 内容如下:

<web-app>
 <servlet>
  <servlet-name>MyServlet</servlet-name>
  <servlet-class>MyServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>MyServlet</servlet-name>
  <url-pattern>/MyServlet</url-pattern>
 </servlet-mapping>
</web-app>

简单讲一下 <url-pattern>/MyServlet</url-pattern> 也就是访问 /MyServlet
就会访问我们刚才编写的 MyServlet 的servlet文件了, 不明白没关系。

我们演示下效果先。把刚才编译的 MyServlet.class 放入 classes目录下.

好,下面启动一下 tomcat , 运行 C:\apache-tomcat-5.5.20\bin 目录下 startup.bat

就可以了。 出现错误了,提示 web.xml 文件有个标签写错了. 好了,现在改过来了。

重新运行一下 tomcat 吧。 成功运行了

视频就到这里,下次视频 我们会编写 j2me 程序 访问我们现在部署好的servlet程序 进行通信的。

谢谢大家观看!!!


“从零开始J2ME手机开发入门视频教程10(j2me与Servlet相互通讯)编写和配置Servlet服务端”有2个评论

  1. 06月 3rd, 2009 at 23:04:47 #郑燕飞

    你好,我看了你的J2ME视频教程之后,感觉你讲的很不错,我看完就掌握了,只可惜我在迅雷上只下了1~6,接下去的下载不到,如果您方便的发到我的邮箱上,我将更加感激您的,因为我是个学生,刚上大一,老师讲的也并不会很全面,通过看您的教程,感觉我又收获了不少东西,希望您能帮我这个忙,谢谢!

    [回复]

    adminreply on 2009-06-05 06:54:54:

    J2ME 其实的确还有很多视频内容,例如其他的组件使用,我只是提供某些组件视频使用,你可以查看J2me的文档,在视频中的代码进一步修改是不难的。

有任何疑问或建议,可以给作者留言: