- 浏览: 630856 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (448)
- 字符串相关 (16)
- Struts2页面显示 (15)
- Hibernate错误记录 (6)
- linux命令 (2)
- java项目测试 (5)
- 个人作品 (10)
- hibernate应用 (15)
- struts1 (7)
- 数据库(除了hibernate) (42)
- J2ME/WAP (37)
- servlet/jsp (49)
- java桌面应用+java综合 (14)
- 服务器配置,报错解决 (24)
- Myeclipse配置,抛错解决 (8)
- linux (18)
- JavaScript+jquery+ajax (45)
- div css 页面设计 (16)
- 互联网综合运营 (14)
- 编程工具类 (3)
- 论文 报告 文献 (14)
- PHP (26)
- struts2 (9)
- spring (1)
- 我的IT生活 (14)
- Resin (6)
- java项目记录 (14)
- https安全 (11)
- 支付技术 (3)
最新评论
-
yihaijunyxr:
很好呀,我好久没用iteye了,今天找出两个帐号(yihaij ...
c/c++的监听tmlisten启动缓慢解决 -
yihaijun:
好像这不算是技术博客,是工作博客
c/c++的监听tmlisten启动缓慢解决 -
ml365:
后来还优化了webservice的前置框架,不用cxf,用了另 ...
c/c++的监听tmlisten启动缓慢解决 -
Jayliuying:
有点晚哈 但是也支持一下 楼主
java相关论文的参考文献【转】 -
gqsunrise:
...
我是项目经理,我的项目管理日记【20120229】
手机客户端代码:
LoginForm:
package com;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
/** *//**
* 用Http方式与服务器交互
*
* @author zdw
*
*/
public class LoginForm extends MIDlet implements CommandListener
{
private Form form = null;
private Display display = Display.getDisplay(this);;
private Command login = null;
private Command exit = null;
private TextField username = null;
private TextField password = null;
private Alert alert = null;
private Alert error = null;
public LoginForm()
{
form = new Form("用户登录");
display.setCurrent(form);
login = new Command("登录", Command.SCREEN, 1);
exit = new Command("退出", Command.EXIT, 1);
form.addCommand(login);
form.addCommand(exit);
username = new TextField("用户名", "", 20, TextField.ANY);
password = new TextField("密码", "", 20, TextField.PASSWORD);
form.append(username);
form.append(password);
form.setCommandListener(this);
}
public void initAlertOK()
{
alert = new Alert("提示", "登录成功!!\r\n您的用户名为:" + username.getString()
+ "\r\n密码为:" + password.getString(), null, AlertType.INFO);
alert.setTimeout(Alert.FOREVER);
display.setCurrent(alert);
}
public void initAlertError()
{
error = new Alert("提示", "登录失败,用户名或密码错误", null, AlertType.ERROR);
display.setCurrent(error);
}
protected void startApp() throws MIDletStateChangeException
{
}
/** *//**
* 事件处理
*/
public void commandAction(Command cmd, Displayable dis)
{
// 点击退出按钮事件
if (cmd.getCommandType() == Command.EXIT)
{
System.out.println("exit");
this.notifyDestroyed();
}
if (cmd == login)
{
// 必须开启独立线程来处理Http请求,否则会造成死锁
new Thread(new Runnable()
{
public void run()
{
try
{
inTurnServer();
} catch (Exception e)
{
e.printStackTrace();
}
}
}).start();
}
}
/** *//***************************************************************************
* 与服务器交互相关代码
*/
public void inTurnServer()
{
try
{
// 服务器请求地址
String url = "http://localhost:8888/LoginWeb/LoginServlet";
// 用户输入的用户名
String username = this.username.getString();
// 用户输入的密码
String password = this.password.getString();
// 用url建立一个Http连接(安全的)
HttpConnection conn = (HttpConnection) Connector.open(url);
// 设置请求类型为POST
conn.setRequestMethod(HttpConnection.POST);
// 设置一般的请求属性
conn.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
conn.setRequestProperty("User-Agent",
"Profile/MIDP-1.0 Configuration/CLDC-1.0");
conn.setRequestProperty("Content-Language", "en-US");
conn.setRequestProperty("Accept", "application/octet-stream");
conn.setRequestProperty("Connection", "close");
// 要发送的数据
String formData = "username=" + username + "&password=" + password;
// 转换显字节流
byte[] data = formData.getBytes();
// 设置写入流的长度
conn.setRequestProperty("Content-Length", Integer
.toString(data.length));
OutputStream os = conn.openOutputStream();
os.write(data);
os.close();
// 得到Http响应代码
int rc = conn.getResponseCode();
// 正常响应
if (rc == HttpConnection.HTTP_OK)
{
// 构建输入流
DataInputStream dism = new DataInputStream(conn
.openInputStream());
// 读取服务器返回的字节流
String result = dism.readUTF();
dism.close();
// 判断
if (result.equals("true"))
{
// 显示登录成功
this.initAlertOK();
}
if (result.equals("false"))
{
// 显示登录失败
this.initAlertError();
// 将输入框置空
this.username.delete(0, this.username.getString().length());
this.password.delete(0, this.password.getString().length());
}
}
} catch (IOException e)
{
e.printStackTrace();
}
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException
{
}
protected void pauseApp()
{
}
}
发表评论
-
什么是WAP网关?
2011-10-17 17:09 10221. 什么是WAP网关? WA ... -
判断用户通过手机访问wap还是电脑直接访问
2011-10-17 16:29 1998首先说最根本的解决 ... -
wap的全面解析!!
2011-10-17 16:29 18211. 开发WAP软件需要哪 ... -
j2me library failed to get library information[转]
2010-12-11 21:59 1174出現過類似問題,我是每次都用的run as...->ru ... -
j2me联网时候对于代理问题可能会出现的错误【转】
2010-12-11 11:30 781众所周知,CMWAP是一个网关,同时又是一个代理服务器,我 ... -
在无线J2ME设备上实现超文本传输协议【转】
2010-12-11 11:27 768随着越来越多手提电 ... -
J2ME使用Socket通过cmwap接入点访问安全HTTPS 2【转】
2010-12-11 11:26 1269新建一个Midp应用程序,在startApp中加入以下代码: ... -
J2ME使用Socket通过cmwap接入点访问安全HTTPS1 【转】
2010-12-11 11:25 1411这个问题是在我升级J2ME版XHTML浏览器的时候被引入的,我 ... -
J2ME无线联网技术中的HTTP连接[转]
2010-12-11 11:24 867import java.io.ByteArrayOutputS ... -
wml教程 中文手册
2010-12-11 01:02 915http://www.g168.net/txt/wml/ ... -
j2me结合j2ee实现用户登陆功能-2【转】
2010-12-11 00:41 955服务器代码:LoginServlet:package co ... -
独立WAP交友网站趋势分析
2010-12-10 19:28 995从互联网开始,交友网 ... -
什么是WAP?wap技术简介(转)
2010-12-10 19:25 992程序员都在讨论Wireless(无线)技术,也就是常说到的WA ... -
j2me游戏开发:控制飞机移动(转)
2010-12-10 19:01 9261. 飞机plane是一个标准的plane。由三桢画面组成,: ... -
j2me游戏开发:工具类的完善(转)
2010-12-10 19:00 944虽然我们有了midp2.0的支持,但是有时还是需要一些辅助工具 ... -
J2ME程序教程,程序+讲解,很好的入门教程(转载) 【2】
2010-12-10 18:59 731J2ME RPG游戏边学边做(二) 1、public vo ... -
J2ME程序教程,程序+讲解,很好的入门教程(转载) 【1】
2010-12-10 18:58 1126J2ME RPG游戏边学边做(一) 笔者以前是做j2ee的 ... -
J2ME内存优化(转载)
2010-12-10 18:58 881Out momory 一阵天旋地转 ... -
PngMate使用教程2(转)
2010-12-10 18:57 870下面我们来换一张图片,街头霸王Ken,这张gif的帧数比较多, ... -
PngMate使用教程1(转)
2010-12-10 18:56 1325PngMate使用教程 JAVA手机网[www.cnjm.n ...
相关推荐
本教程主要关注的是如何使用J2ME为移动设备实现用户登录功能,并与J2EE后端进行交互。下面我们将详细探讨这个主题。 J2ME是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机和平板电脑。它提供了一套精简...
综上所述,J2ME和J2EE的结合,使开发者能够构建出跨越移动设备和服务器的完整应用,实现用户登录及其他复杂交互。理解这两个平台的核心机制以及它们之间的交互方式,对于开发跨平台的企业级应用至关重要。同时,...
"2009611153053.pdf"和"20061263.pdf"可能包含更多关于J2ME和J2EE集成的案例研究或技术解析,帮助读者深入理解两者的结合应用。 "j2me_j2ee.pdf"和"lunwen.pdf"可能是一篇或几篇论文,详细探讨了J2ME和J2EE在实际...
本文将详细介绍如何通过Java 2 Micro Edition (J2ME) 和 Java 2 Enterprise Edition (J2EE) 实现移动客户端与服务器端的用户登录交互功能。在移动互联网时代,这种基于不同平台之间的通信方式是非常常见的,并且对于...
本篇将深入探讨J2ME与J2EE的结合使用,以及“smarticket”这个经典例程可能涉及的知识点。 J2ME是Java平台的一个子集,设计用于资源有限的设备,如手机、智能手表等。它包含一套核心类库和特定设备的配置,如MIDP...
- **分布式计算**:通过j2ee的集群技术,可以实现高可用性、负载均衡等功能,适用于大规模分布式系统的开发。 #### 发展趋势分析 随着技术的进步和社会需求的变化,j2me与j2ee的发展趋势也在不断演进。 - **j2me...
《基于J2ME和J2EE的手机银行设计与实现》是针对移动金融服务的一种技术解决方案,它结合了Java平台的两个重要分支——J2ME(Java 2 Micro Edition)和J2EE(Java 2 Platform, Enterprise Edition)来构建安全、高效...
下面将详细阐述J2ME和J2EE的相关知识点,并结合跨平台无线应用的开发实践进行解析。 **J2ME(Java 2 Micro Edition)** J2ME是Java平台的一个子集,设计用于资源有限的设备,如移动电话、智能手表和家用电器等。它...
总的来说,J2ME和J2EE的结合为跨平台无线应用开发提供了一种强大的解决方案。通过J2ME,开发者可以在有限的资源下创建丰富的用户体验;借助J2EE,可以构建稳定、高效的服务端,支持大量并发用户。这种分层架构既有利...
Java 2 Micro Edition (j2ME) 和 Java 2 Platform, Enterprise Edition (j2EE) 是两个关键的Java技术平台,对于软件开发者来说是至关重要的工具。本文档旨在提供这两个平台的API详解,帮助开发者更好地理解和应用...
### J2ME与J2EE在新农合系统中的应用 #### 1. 引言 新型农村合作医疗制度自2006年开始试点运行以来,对于配套的软件管理方面仍处于初步探索阶段。随着这一制度在全国范围内的普及,开发高效、安全且易于使用的综合...
案例中的"j2me_findJob"可能对应的是一个寻找工作的功能,UI可能包括文本输入框、按钮等元素,允许用户输入搜索条件并展示搜索结果。 **7. 整合案例的价值** 这个DEMO案例对初学者而言具有很高的学习价值。它将完整...
**J2ME手机银行系统详解** ...综上所述,J2ME和J2EE的结合在手机银行系统中起到了互补的作用,实现了移动金融的便捷性和安全性。通过不断的优化和创新,手机银行系统将继续为用户提供更高效、更安全的服务。
通过“J2ME 中文教程1.01”,你将深入学习到如何配置开发环境、创建MIDlet、设计用户界面、实现网络功能、以及管理和存储数据。教程中的“calf1.01.pdf”可能是教程的主要内容,涵盖了上述所有知识点的详细讲解,...
J2ME结合HTTPS和KSSL等技术,可以保证数据在网络上的安全传输,但完整系统的安全不仅限于数据传输的加密,还包括了用户认证、权限控制、数据加密存储和安全交易机制等。例如,可以利用XML(可扩展标记语言)来封装...
J2ME 提供了在小型设备上运行应用程序的能力,同时保持与Java标准版(J2SE)和企业版(J2EE)的兼容性。本教程将帮助初学者理解J2ME的基础概念和技术,以快速入门这个领域。 1. **J2ME架构** J2ME由两部分组成:...
- **字符串换行问题**:介绍如何在J2ME程序中处理文本的自动换行功能。 - **字体问题**:探讨在J2ME应用程序中自定义字体的方法和注意事项。 - **重新播放音乐问题**:提供解决音频文件重复播放问题的策略。 - **...
【标题】"J2EE Hibernate" 指的是在Java企业级应用开发中使用Hibernate框架进行数据持久化处理的技术主题。Hibernate是一个强大的对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互,使得开发者可以...