基于j2me平台的掌上网络商店服务器端的开发.docx
《基于j2me平台的掌上网络商店服务器端的开发.docx》由会员分享,可在线阅读,更多相关《基于j2me平台的掌上网络商店服务器端的开发.docx(33页珍藏版)》请在冰豆网上搜索。
![基于j2me平台的掌上网络商店服务器端的开发.docx](https://file1.bdocx.com/fileroot1/2023-6/23/c5daa875-c519-4d0f-ab55-63cd3e4bccdd/c5daa875-c519-4d0f-ab55-63cd3e4bccdd1.gif)
基于j2me平台的掌上网络商店服务器端的开发
基于j2me平台的掌上网络商店-服务器端开发
论文作者姓名:
申请学位专业:
网络工程
申请学位类别:
工学学士
指导教师姓名(职称):
论文提交日期:
基于j2me平台的掌上网络商店-服务器端开发
摘要
过去的几年,电子商务的迅猛发展为企业创造了极大的价值,使传统的企业商务模式发生了很大的改变。
随着手机使用的普及和无线技术的发展,移动电子商务将会作为电子商务领域中的一种新型的电子商务模式,其发展前景是十分诱人的。
可以预见的是,移动电子商务将成为21世纪电子商务领域的主战场。
J2ME是为嵌入式消费电子设备提供的JAVA语言开发平台,是针对资源受限设备。
因此基于J2ME平台的无线终端的应用程序开发以及与网络服务器端的信息交互开发就十分重要。
利用客户端+Javaservlet+SQLServer数据库三层模式实现网上商店系统是通用的方法。
所有的业务逻辑都封装在servlet中,数据库的使用提高了数据的安全性,而采用可扩展标识语言XML的数据格式实现了跨平台的数据交换。
详细阐述了系统的需求分析、系统总体架构及详细设计,系统实现了以下功能:
会员注册、登录、浏览物品详细信息和购买物品。
关键词:
J2ME;可扩展标识语言;SERVLET;网络商店
ThePalmPlatformofe-ShopBasedontheJ2ME-ServerDevelopment
Abstract
Overtheyears,thefastfiercedevelopmentofelectroniccommercecreatedtremendousvaluefortheenterprise,whichgreatlychangedtraditionalenterprisecommercepattern.Withtheprevalenceofmobilephoneanddevelopmentofwireless,Mobilee-commercewillbeanewe-commercemodeintheelectroniccommercerealm,anditisverypromising.Itcanbepredictedthatthemobilee-commercewillbecomethemajorindustryofe-commerceinthe21stcentury.J2MEistheplatformthatprovidestheJAVAlanguagetodeveloptheembeddedelectronicequipmentofexpense,whichaimsattheequipmentthatresourceislimited.ThereforetheinteractiveinformationexploitationdevelopingwithnetworkserverandapplicationsofwirelessterminaldevelopmentbasedonJ2MEplatformisveryimportant.Itisageneralmethodtoimplementthesystemofe-shopusingthreelayersofpattern:
clientside+Javaservlet+databaseofSQLServer.Allthebusinesslogicencapsulatedintheservlet,usingofthedatabaseimprovedthesecurity,andusingtheXMLdataformatachievedcross-platformdataexchange.Tothesystemdemandanalysis,thesystemrequirementanalysis,theoverallofsystemconstructionandthedetaileddesignareelaboratedindetailsinthispaper,andthesystemachievesthefollowingfunctions:
Memberregistration,login,browsedetailedinformationandpurchasegoods.
Keywords:
J2ME;XML;SERVLET;E-SHOP
目录
论文总页数:
24页
1引言1
1.1选题背景1
1.2选题意义1
2相关技术及开发平台简介2
2.1J2ME简介2
2.2SQLSERVER数据库和JDBC2
2.3JAVASERVLET技术介绍2
2.4XML和JDOM3
2.4.1XML简介3
2.4.2JDOM技术3
2.5开发平台及系统配置3
3系统需求分析和设计方案4
3.1需求分析4
3.2系统总体框架4
3.3系统设计关键技术5
3.3.1网络的连接5
3.3.2数据存储方式和数据的交换5
3.4业务数据流分析5
3.4.1联网的流程5
3.4.2访问数据库的流程6
3.4.3输入XML数据解析流程6
3.4.4输出XML文档建立流程6
3.5和客户端交互接口的约定7
3.5.1关于URL7
3.5.2URL参数约定规则7
3.5.3接收和发送的XML文档格式的约定7
3.6数据库的分析与设计8
3.6.1注册用户基本信息表user8
3.6.2商品信息表8
4具体的设计流程和实现系统构架9
4.1系统主要工作流程9
4.2系统功能模块设计9
4.2.1数据库联网模块的设计9
4.2.2注册模块的设计10
4.2.3登陆模块的设计13
4.2.4查询模块的实现15
4.2.5购买功能模块的实现18
5测试分析与问题处理21
5.1数据库连接21
5.2与客户端的连接21
结论22
参考文献22
致谢23
声明24
引言
1.1选题背景
网上购物正逐步走向平民化,调查机构AC尼尔森最新研究显示,63%的中国网民曾在网上购物。
有业内人士认为,中国的网上购物人数在快速增长,年轻的中国男性更热衷于网上购物。
民众对电子商务的热情高涨,表明我国民众电子商务意识的提高,电子商务正改变着人们的消费方式。
而近年来随着移动技术的发展,手机在人们中的普及,传统的电子商务越来越满足不来了人们的需求,出现了一种新型的电子商务模式—移动电子商务。
与传统的Internet上的在线交易相比,移动电子商务具有许多优点,移动交易不受时间和地点的限制;效率高,大大节省客户交易的时间;移动终端的身份固定,能够向用户提供个性化移动交易服务;可以提供与位置相关的交易服务。
移动电子商务将用户和商家紧密联系起来,而且这种联系将不受PC或连接线的限制,使电子商务走向了个人。
传统的电子商务形式受到越来越大冲击,以网络化、知识管理、全球化为主要特征的信息化社会已是不可逆转的趋势,电子商务化已成为企业发展的必由之路。
而信息化社会的核心是互联网、移动通信和电子商务,而三者的有机结合更是未来社会的大势所趋。
移动电子商务的快速发展。
移动电子商务的基础是互联网,移动电子商务的主要特点是灵活、简单、方便。
它能完全根据消费者的个性化需求和喜好定制,设备的选择以及提供服务与信息的方式完全由用户自己选择控制。
移动电子商务时代正向我们走来。
1.2选题意义
目前,人们逐渐意识到融合移动通信技术的电子商务将具有更大的潜力,移动电子商务的市场前景普遍被业内人士看好。
参与电子商务的主要角色是企业(Business)和消费者(Customer),因此在企业之间、企业与消费者之间,网上交易构成了BtoB(B2B即BusinesstoBusiness企业到企业)、BtoC(即BusinesstoCustomer企业到用户)两种最典型的商务模式。
据预测,到2003年,超过10%的电子商务交易将通过移动通信设备来完成;预计到2008年,全球将出现10亿移动电话用户、10亿因特网用户,其中5亿为移动因特网用户;到2005年截止,将有25%的数据业务通过移动通信设备来传输。
这些移动终端构成了移动电子商务巨大的潜在市场。
移动电子商务的特征移动电子商务和传统的电子商务存在很大的区别,主要有下述两点:
(1)不受时间和地点的限制。
(2)J2ME的优点同传统的WAP相比,J2ME有很多的优点。
这些优点主要表现在:
网络编程灵活,能突破B/S结构的一些限制,使得上层程序更加自由。
正是J2ME的优点,而基于J2ME平台的移动电子商务将具有更大的潜力和优点。
本文将研究如何利用JAVASERVLET和XML技术构建一个基于J2ME平台的掌上网络商店-服务器端的开发。
相关技术及开发平台简介
J2ME简介
J2ME(Java2PlatformMicroEdition)是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的JavaAPI。
它和J2SE,J2EE一起构成Java技术的三大版本,并且同样是通过JCP(JavaCommunityProcess)制订的。
目前阶段,J2ME最流行的应用是游戏软件。
因为与需要昂贵的专用设备和开发工具的竞争对手(如索尼和任天堂)相比,J2ME程序可以在PC机上开发和仿真运行,然后很容易地部署到目标机上,从而使其开发、测试和发布的变得容易和廉价。
实际上J2ME的用途和前景要广泛得多。
SQLSERVER数据库和JDBC
SQLServer是一个关系数据库管理系统。
它最初是由MicrosoftSybase和Ashton-Tat三家公司共同开发的,于1988年推出了第一个OS/2版本。
在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了。
Microsoft将SQLServer移植WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。
Sybase则较专注于SQLServer在UNIX操作系统上的应用。
在本书中介绍的是MicrosoftSQLServer,以后简称为SQLServe或MSSQLServer。
SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的最新版本。
该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能,具有使用方便可伸缩性好与相关软件集成程度高等优点。
可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。
JDBC的全称是JavaDatabaseConnectivity(严格地讲,JDBC是SunMicrosystems的商标而非缩写)。
它是Java编程语言中用来规范客户端程序如何来访问数据库的API,提供了诸如查询和更新数据库中数据的方法。
JDBC是面向关系型数据库的。
JDBC驱动程序共分四种类型:
类型1:
JDBC-ODBC桥类型2:
本地API驱动类型3:
网络协议驱动本地协议驱动。
JAVASERVLET技术介绍
Servlet是使用JavaServlet应用程序设计接口(API)及相关类和方法的Java程序。
除了JavaServletAPI,Servlet还可以使用用以扩展和添加到API的Java类软件包。
Servlet在启用Java的Web服务器上或应用服务器上运行并扩展了该服务器的能力。
Javaservlet对于Web服务器就好像Javaapplet对于Web浏览器。
Servlet装入Web服务器并在Web服务器内执行,而applet装入Web浏览器并在Web浏览器内执行。
JavaServletAPI定义了一个servlet和Java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性。
Servlet通过创建一个框架来扩展服务器的能力,以提供在Web上进行请求和响应服务。
当客户机发送请求至服务器时,服务器可以将请求信息发送给Servlet,并让Servlet建立起服务器返回给客户机的响应。
当启动Web服务器或客户机第一次请求服务时,可以自动装入Servlet。
装入后,Servlet继续运行直到其它客户机发出请求。
Servlet的功能涉及范围很广。
1.3XML和JDOM
1.3.1XML简介
XML是可扩展标志语言(eXtensibleMarkupLanguage)的简称。
标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章。
如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用象XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。
XML是从SGML中简化修改出来的。
它主要用到的有XML、XSL和XPath等。
象HTML一样,XML是从所有标志语言的元语言—标准通用标志语言SGML(StandardGeneralizedMarkupLanguage)那里派生出来的。
SGML是一种元语言,也可以称为一个定义诸如HTML等标志语言的系统。
XML也是一种元语言,一个定义Web应用的SGML的子集。
和SGML一样,你也可以用XML来定义种种不同的标志语言满足不同的需要,特别在数据表现方面。
1.3.2JDOM技术
JDOM是一种面向Java的读、写和操作XML文档的API。
JDOM与现行的SAX和DOM标准兼容,为Java程序员提供了一个简单、轻量的XML文档操作方法。
由于JDOM是专门为Java程序员开发的,所以采用许多Java语言的优秀特性,比如方法重载、集合(Collections)和类映射(Reflection)。
开发平台及系统配置
当前流行的JAVA开发平台主要有BORLAND的JBUILD,SUN的NETBEANS和开源的ECLIPSE。
但是JBUILD相比较而言简单易用,学习曲线比较平缓。
所以开发本系统选用JBUILD。
下面是开发平台及系统配置:
操作系统:
WINDOWS2003。
数据库:
SQLSERVER2000。
开发工具:
JBUILD9。
附带的JDOM包为:
jdom-1.0。
需要的JDBC驱动程序为:
MicrosoftSQLServer2000DriverforJDBC。
在JBUILD9所建立工程属性里面要引入jdom-1.0和MicrosoftSQLServer2000DriverforJDBC。
2系统需求分析和设计方案
2.1需求分析
在移动电子商务中,出于安全的考虑用户要有自己的账号,只有注册成功获得账号才能登陆进行必要的操作。
所以服务端设计中要有注册登陆的功能。
当客户第一次使用系统的时候要先进行注册。
在服务端的要的注册模块要完成的工作便是:
接受客户的注册资料,然后与自己的数据库的已有客户资料进行比对,检查账号是否重复。
如果重复在要返回提示信息:
户账号已经存在。
如果没有,把用户注册的资料插入的用户信息表中,而后返回注册成功信息:
用户注册的名字和密码。
在用户登陆的时候,服务端核对账号密码。
如果一致,用户可以进行后续的操作,如果不成功,则返回登陆错误信息。
用户登陆成功后的可能要查询某件的详细资料,查询的时候输入查询物品的名称,如果有,服务端返回查询的详细信息,其中信息的格式可以是XML的形式。
也可以选择以字符串的形式发送。
用户浏览到物品信息时想购买的话。
则只要输入购买物品的ID和购买的数量。
这些购买物品数据从客户端以XML数据格式发送给服务端。
服务端首先要解析传送过来的XML文档提取的数据信息。
如果信息合法且购买成功就返成功信息和购买物品信息。
否则返回购买失败的信息。
系统总体框架
利用J2ME和JAVASERVLET建立企业级移动电子商务应用是非常合适的,可以通过J2ME技术建立客户终端程序,通过JAVASERVLET建立我的服务端程序。
系统的总体框架如图1。
图1总体框架图
在支持J2ME技术的PDA,手机等移动设备终端,可以利用它们支持的各种简档设计客户端程序,实现与用户的交互,同时,通过HTTP、HTTPS或XML等标准的网络协议与J2EE应用服务器实现数据传递。
Web层和企业信息系统层用于构建我的服务器端应用,其中Web层用于实现与客户层的接口和交互,它使用Servlet程序处理客户端发出的连接和请求,并通过JDBC连接到企业信息系统层的数据库系统上。
数据库系统处理SQL语句,会将处理结果以一个结果集的形式发送到业务逻辑层,业务逻辑层将接收到的信息提交给Web层的Servlet程序,Servlet程序再通过HTTP、HTTPS或XML将响应信息返回到客户端。
2.2系统设计关键技术
2.2.1网络的连接
由于无线设备所能支持的网络协议非常有限,仅限于HTTP,Socket,UDP等几种协议,不同的厂家可能还支持其他网络协议,但是,MIDP1.0规范规定,HTTP是必须实现的协议,而其他协议的实现都是可选的。
因此,为了能在不同类型的手机上移植,我们采用HTTP作为网络连接的首选协议,这样还能重用服务器端的代码。
但是,由于HTTP是一个基于文本的效率较低的协议,因此,必须仔细考虑手机和服务器端的通信内容,尽可能地提高效率。
在登陆和注册的时候传输的数据量较少,选用GET方法在基于效率上考虑比较合适的。
在服务端对应的采用DOGET方法。
而对于在浏览和购买的时候传输的数据量大一些,POST方法是不得不选用的,虽然其效率上比较低,但是它可以传输比较大的数据量,GET方法传输给服务端的数据量是有限制的。
对应的服务端为DOPOST方法。
2.2.2数据存储方式和数据的交换
由于有大量的数据,采用简单的文件系统显然不合适,采用数据库管理系统对于设计来说是比较简单的,在系统设计中要存储用户的基本信息和商品的基本信息,这就需要用两张表来存储其中的数据。
设计表的时候要设置主键以加强数据的完整性。
而对于数据的交换格式,本系统则采用XML数据格式,在定义XML数据格式,只要是well-formed,而不需要定义其DTD,以及显示样式表。
无论建立还是解析XML,对于JAVA语言来说JDOM是必需的。
JDOM是在Apache许可证下发布的开放源码,是JAVA语言中XML和DOM交互的API。
在设计实现中将用JDOM建立一个标准的well-formed的XML文档,也将用JDOM解析一个XML文档。
2.3业务数据流分析
2.3.1联网的流程
联网的时候按照如下的流程:
1、建立连接。
2、设置输出的文档MIME类型,设置为text/plain。
设置数据编码方式,打开输出流。
3、从URL字符串获取参数,判断参数是否合法,如果OK则开始接受数据并进行相应的处理。
4、经过处理的结果传输数据给客户端。
5、关闭连接和流。
2.3.2访问数据库的流程
1、装入JDBC程序。
要使用JDBC访问数据库,首先必须加载JDBC驱动程序,只需一句代码Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver")。
2、建立连接。
建立连接的标准方法是DriverManager.getConnection(Stringurl,Stringuser,Stringpassword)。
3、执行SQL语句。
4、检索结果。
5、关闭连接。
在对象使用完毕后,应当关闭连接。
2.3.3输入XML数据解析流程
由客户端发送过来的数据是XML的格式,首先服务端要解析这些XML格式的数据得到所需要的信息。
而解析XML需要用的JDOM。
JDOM自身不包含解析器。
它通常使用SAX2解析器来解析和验证输入XML文档。
它包含一些转换器以将JDOM表示输出成SAX2事件流、DOM模型或XML文本文档。
解析的流程如下:
1、使用JDOM首先要指定使用什么解析器。
2、得到Document。
3、得到根元素。
4、得到元素(节点)的集合。
5、轮循List集合。
6、取得元素的子元素(为最低层元素)的值。
7、DOM结果处理(输出/保存)。
2.3.4输出XML文档建立流程
向客户端发送XML格式数据,首先要建立XML格式的文档数据。
这也将用到JDOM。
在JDOM中,XML元素就是Element的实例,XML属性就是Attribute的实例,XML文档本身就是Document的实例。
因为JDOM对象就是像Document、Element和Attribute这些类的直接实例,因此创建一个新JDOM对象就如在Java语言中使用new操作符一样容易。
JDOM的使用是直截了当的。
建立XML文档的流程如下:
1、首先建立根元素。
2、然后用root创建XML文档对象。
3、创建元素,设置内容,属性。
4、结果处理(输出/保存)。
和客户端交互接口的约定
2.3.5关于URL
服务端和数据端的网络通讯采用HTTP协议。
购买模块的URL地址为:
http:
//localhost:
8080/servlet/PurchaseServlet。
登陆模块的URL地址为:
http:
//localhost:
8080/loginservlet1。
注册模块的URL地址为:
http:
//localhost:
8080/registerservlet。
浏览物品模块的URL地址为:
http:
//localhost:
8080/userdataservlet。
2.3.6URL参数约定规则
在注册模块和登陆模块中用户的帐号约定为id;用户的密码约定为pw。
在查询的模块中首先以书名为查询参数,参数约定为name;在登陆中如果登陆成功则返回给客户端yes返回失败返回no。
2.3.7接收和发送的XML文档格式的约定
在查询的模块中往客户端发送的XML格式的约定为元素的文本内容物品的名字,元素文本内容为物品的ID,元素内容为产地,元素内容为价格,元素内容为物品描述信息,元素内容为数量。
如果根节点不为则表示查询失败返回的是失败信息。
查询成功XML式样如下:
xmlversion='1.0'encoding='UTF-8'?
>
name
id
author
price
description
quantity
查询失败XML式样如下:
xmlversion='1.0'encodi