
以前的视频都是本地小程序,没有涉及到网络。
今天就演示一下 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程序 进行通信的。
谢谢大家观看!!!
06月 3rd, 2009 at 23:04:47 #郑燕飞
你好,我看了你的J2ME视频教程之后,感觉你讲的很不错,我看完就掌握了,只可惜我在迅雷上只下了1~6,接下去的下载不到,如果您方便的发到我的邮箱上,我将更加感激您的,因为我是个学生,刚上大一,老师讲的也并不会很全面,通过看您的教程,感觉我又收获了不少东西,希望您能帮我这个忙,谢谢!
[回复]
adminreply on 2009-06-05 06:54:54:
J2ME 其实的确还有很多视频内容,例如其他的组件使用,我只是提供某些组件视频使用,你可以查看J2me的文档,在视频中的代码进一步修改是不难的。