林强 曾玉珠
摘 要 本文介绍一种基于Java的移动支付平台的实现方案,它在客户端采用J2ME和XML技术,在服务器端引入了Spring的IOC和AOP编程,利用RMI技术实现了轻量级别的分布式,提高了支付系统的灵活性和扩展能力。
关键词 Hibernate, XML, RMI,移动支付
随着社会的进步,手机和人们生活的结合程度越来越高,用手机进行支付行为──即移动支付就是一个鲜明的例子。本文介绍如何使用J2ME技术,采用科学的三层模式(如图1所示),通过兼容性强的XML技术,实现手机上的移动支付功能包括购物、订票、缴费、咨询等。本系统部署的时候不需重新更换系统,具有一定的商业价值。
一、 手机客户端
手机客户端主要为用户提供界面,接受用户输入数据,负责与服务器的交互,并将操作的数据结果呈现给最终用户。主要采用J2ME和XML技术实现,主界面如图2所示。
1.登录窗口
主窗体维持程序的生命周期,通过定义全局变量Display来控制屏幕的切换。当用户输入姓名和密码按登录按钮后将用户名和密码组装成XML文档,以HTTP请求的方式发送到服务器端,然后进入wait屏幕,等待服务器返回登录的结果。如果通过验证就进入服务屏幕,验证失败则返回登录窗口,重新输入。进入wait屏幕的同时,启动了多线程机制,实现核心代码如下。
//主窗体类
package com.GEAR.client;
import javax.microedition.lcdui.*;
/** 登录屏幕 显示登录框 */
public class LoginForm extends BaseForm implements CommandListener {
public TextField user; // 定义输入框
public TextField password; //定义命令
public Command enterCommand;
public LoginForm(String arg0, Display display) {
super(arg0, display);FormInit();
}
public void FormInit() {
user = new TextField("用户", "", 20, TextField.ANY);
password = new TextField("密码", "", 20, TextField.PASSWORD);
enterCommand = new Command("进入", Command.ITEM, 1);
user.setLayout(Item.LAYOUT_VCENTER | Item.LAYOUT_EXPAND);
password.setLayout(Item.LAYOUT_VCENTER | Item.LAYOUT_EXPAND);
this.append(user); this.append(password);
this.addCommand(new Command("退出", Command.EXIT, 1));
this.addCommand(enterCommand);
this.setCommandListener(this);
}
|