基于jme平台的掌上网络商店——客户端的开发—免费毕业设计论文内容摘要:
且所有的 MIDP 设备都支持 HTTP 网络,因此使用 HTTP 网络的应用程序跨平台性很好。 另外 ,Java 网络 API 为 HTTP 通信提供了编程接口。 图 6 基于 HTTP 的 MIDP 客户端和 服务器端 下面阐述基于 HTTP 的 MIDP 客户端和 Servlet 之间的基本通信方案 (如图 6所示 )。 一、 基于 HTTP 的 MIDP 客户端和 Servlet 之间的通信步骤为 : , MIDP 客户端将请求消息编码并将其打包成一个 HTTP 请求,设置 Content_type 头内容,将其设置为 text/plain( 文本内容请求 ) 或application/octetstream(二进制请求 )等等,以确保网关对该请求的正确处理。 , Servlet 接收 HTTP 请求包,并将其解码,然后 Servlet 或一些代理 (如企业 bean)执行该请求任务。 , Servlet 将响应消息编码并将其打包成一个 HTTP 响应包,同样设置 Content_type 和 ContentLength 的头内容。 text/plain 针对文本内容响应,第 8 页 共 26 页 image/png 针对 PNG 图片响应,而 application/octetstream 用来指定二进制响应。 , MIDP 客户端接收 HTTP 响应并将该响应解码 ,然后 MIDP 客户端应用程序执行相应的任务。 本系统采用的通讯方式即为如上所述的传统的 HTTP 方式。 但是这种通信方式在移动商务系统的应用的过 程中也有一些弊端,比如:在服务器端响应的过程中,客户端异常关机或超出了网络服务范围,这样数据将丢失。 二、 Servlet 之间的基本通信方案 : 目前有效的数据交换格式有两种 :二进制格式和 XML 格式。 XML是一种更复杂的数据交换格式。 使用 XML数据格式存在如下的不利因素: MIDP 应用程序中,额外地要占有一定的内存,这对于有线内存的移动设备来说可能是不可取的。 XML 格式的数据比较大,必将增加了网络的传输负担,而对有限带宽的无线网络来说将会产生更长的延迟。 二进制格式是最简单的数据 交换格式 ,它通过 DataInputStream 和DataOutputStream 提供的一些方法读写数据,如 和 读写 UTF8码的字符串等。 虽然二进制格式没有自我描述的功能,客户端和服务端的数据格式必须一致,但是使用二进制数据对移动设备非常有效。 因为二进制数据是紧压缩的,而且二进制数据的大小比 XML 小得多,没有复杂的描述,数据量小,这对有限资源的移动设备是特别重要的,不但可以节省存储空间,而且可以加快数据传输速度。 当然随着以后系统处理器和存储功能的增强以及无线网络的改进,采用 XML格式作为数据交换格式是非常可取的。 开发环境 目前 流行的开发 J2ME 的工具 有 JBuilder、 Eclipse、 WTK 等 三种方式,其中前面两者都是集成开发环境 ,在编程上比较方便 ,有智能联想等功能,而 WTK 相对只提供了手动编译和打包 ,并且没有 Debug 功能。 但 WTK 不需要多余的配置 ,对各种模拟器可以说是即插即用 ,而且在 WTK 下的程序目录简洁明了 ,方便查询。 这几种开发环境各有长短处 ,根据 我自身的实际 情况我 选择了 Eclipse 做为我的开发 工具 ,以下罗列了本论文的主要开发环境: 1. 操作系统: Microsoft Windows XP 2. 程序语言: Java 2 3. 开发包: Java(TM) 2 Standard Edition 4. Sun Micro: J2ME Wireless Tool Kit 第 9 页 共 26 页 5. IDE: Eclipse 关于 Wireless Tool Kit WTK(Wireless Tool Kit)是 Sun 公司针对 J2ME 推出的用于手机和 Palm 等移动设备的开发包, 是除手机厂商的专用开发包外唯一的手机模拟器开发包。 它通用性高,开发出的应用程序可保证能运行在大部分设备上,而不像专用厂商具有一定的不兼容性。 虽然它没有强大的功能和完善的调试手段,但它提供运行模拟器的最基本组件,是其他 IDE 需集成采用的必备元素。 eclipse 下面的 J2ME 环境配置 一、 需要下载的软件 包括: JDK。 Eclipse。 Eclipse 汉化包。 EclipseMe。 WTK。 二、配置过程 1. 安装 JDK。 2. 安装 Eclise。 3. 安装汉化包和 EclipseMe。 4. 安装。 5. 设置 EclipseME。 到此 ,基本上 J2ME 基本环境结束了。 3 需求分析与设计方案 需求分析 当今网络技术不断的发展 ,在将来的无线 通信 时代中 ,大量的网络应用程序将被开发出来去满足无线移动通讯的要求,而要充分的发挥无线移动通讯设备的通信能力 ,J2ME 网络编程就变得尤为重要。 现在以淘宝 ,易趣等网络支付平台的24 7的 网络商店 ,技术相对较为成熟已经逐步受到人们的关注 ,市场潜力非常巨大。 但是,只有网络的支持而没有用户手中的无线通信设备也是无法实现无线通信的。 手机是最常用的无线设备,因此通过手机进行无线数据业务服务前景广阔,而且随着手机硬件的不断发展,其在无线移动商务方面的前途更是不可限量。 移动商务主要是指消费者借助无线网络,通过手机或 PDA 等手持设备,进行有形货物或无形劳务的具有货币价值的交易,或执行数据采集的工作更好地推进商务的发展等活动。 人们使用手机进行数据采集、地理信息查询、股市交易如今都已经成为了现实,因为现有的 J2ME 技术已经做到了这一点。 因此,基于 J2ME 平台来研究无线网络模式下的网络商店是具有一定的市场潜力的。 图 7 是本论文的总体架构模型 ,客户 端(移动设备)部分根据用户需求发送第 10 页 共 26 页 RESPONSE REQUEST DB Server servlet Web Server 请求信息给 Web Server,转到后台进行处理 ,而服务器端则通过判断客户端发送过来的信息 ,来安排需要做什么具体的操作 ,有可能需要数据库内的数据,这时就会启动和 DB Server(数据库服务器 ),而绝大多数的网络应用都是将数据信息保存到 DB Server(数据库 服务器 ),通过 Web Server协调各种客户端的请求与响应 ,存取数据库中的数据。 数据库服务器和 Web 服务器可能是网络中的 1 台或多台的设备。 客户端可以通过网际中的通用协议 (如 协议 )对服务器端进行访问 ,因此移 动设备只要能支持网络通讯的协议就应该能够正确获取服务器端的资源。 图 7 系统架构模 型 图 7 的 虚线框内的为本毕业设计的主要内容 ,为了规范的管理 ,我们设定只有合法的用户才能登陆到系统上。 因此我们设计了完整的注册和登陆系统 ,在注册系统中杜绝了相同用户名多次注册的问题和注册信息不齐全就可以注册的问题。 而在登陆系统中 ,用户登 陆所需要的帐号和密码 ,保存在服务器端的数据库中 ,每次登陆的时候和服务器端中数据库内的数据进行比较 ,只有在数据库内有相关信息的用户才能被系统判断为合法用户。 做为一个用户,登陆进入一个网络商店的目的就是购买商品 ,而在购买商品之前 ,做为用户来说需要了解到商品的详细信息(名字、价格、产地等等),于是我们为用户制作了商品查询系统和商品购买系统 ,让用户可以在移动设备中享受到移动购物的乐趣。 基于上述的需求分析得出: 本论文就是将基于 J2ME 平台 技术 的网络商店应用与无线通信设备 中 ,设计出由 4 大功能模块(注册模块、登陆模块、 查询模块、购买模块)组成的完整客户端系统 ,充分发挥无限通讯设备的通信能力和网络商店的实时交互的能力 ,让购物变得更加便利。 设计方案 根据 图 8的 系统总体流程图 进行具体的分析: 系统从欢迎界面开始进入登陆界面 ,在这个地方有 2 种情况发生 : 这里需要进行联网 ,将用户输入的用户名和密码发送给服务器 ,服务器接受第 11 页 共 26 页 以后将信息和数据库里面的信息进行比较 ,如果数据库里有用户信息确认完毕 ,把信息返回给客户端 ,由客户端程序根据返回的信息来进行判断 ,成功后用户就可以进入主菜单了 ,进入具体商品的查询。 图 8 程序总体功能 流程 首先 为了防止用户的错输入 ,在错误显示界面中考虑到 2 种情况一种是返回登陆界面 ,而另外一种是进入注册界面。 注册界面中 ,注册过的帐号不能进行注册 ,用户输入的用户名会发送给服务器进行 判断来得出结果, 如果服务器进行查询后发现数据库内有了这个用户名 ,这时就返回注册失败的错误信息,客户端会显示出这些返回的错误信息,如果在主菜单 购买界面 查询界面 帮助界面 查询显示界面 查询显示界面 错误显示界面 注册界面 进行联网 进行数据库操作 得到相关数据 将数据发送回来 进行联网 发送购买信息 数据库操作 将数据发送回来 服务端对比数据资料 联网 发送注册信息 成功 界面 失败 界面 登陆界面 欢迎界面 是否成功 是 否 第 12 页 共 26 页 数据库内没有发现一样的帐号,就把用户输入的帐号和密码插到服务器端的数据库内进行保存,返回给客 户端注册成功的信息,此时 注册好的帐号和密码就可以在登陆界面上 进行登陆了。 登陆成功后进入商店的主菜单 ,在主菜单上有 3个选项 分别是: 1 查询商品 用户可以 根据不同的分类来选择一个大的分类方向 ,例如计算机类,这个就是告诉服务器在计算机类这个相关表格里面进行数据查询操作 ,选择了以后屏幕就跳转到了 ,关键字查询界面 ,这个屏幕是用户 根据 自己输入的 关键字来确定商品 ,这里需要将用户的输入的数据发送给服务器端 ,用的仍然是 GET 方法,由服务器端来进行数据处理。 如果用户输入的关键字在服务器的数据库里有相关的记录,那么 服务器 将 返回商品的一些信息 详细 ,客户端就需要将这些服务器返回的数据显示出来。 2 购买商品 用户查询完了以后对喜欢的商品会购买 ,根据查询商品得到的 ID 号来购买商品 , 然后将用户输入的商品 ID 和商品数量发送给服务器 ,服务器端接收以后 ,先是查找出商品 ,然后对数据库进行相关的更新操作 ,最后 将服务器的得到的返回信息显示给用户看。 3使用帮助 帮助用户快速的上手 本系统 ,解决一些常见的问题。 J2ME客户端需要完成的任务 本程序 是 C/S 结构 ,而客户端需要做的就是和用户的交流 ,将用户的信息发送给服务器 ,将服务器的信息反馈给用户, 因此一个完整的基于 j2me 的掌上网络商店应该具备以下的功能: 1.注册 功能 :用户的注册分为注册成功与注册失败(用户名存在) ,新用户必须使用注册功能以后才可以进行其他操作。 2. 登陆 功能 :用户的登陆是将用户输入的帐号和密码 发送给服务器,由服务器来进行判断,是否在数据库呢存在,如果存在则跳转到主菜单,否则跳转到注册系统。 3. 查询 功能 :用户进入系统后需要了解各种各样的商品 ,那么就需要对分类进行查询 ,查询分为 2 个部分来进行 ,首先用户需要确定一个大的方向也就是告诉服务器端应该在数据库的什么地方进行查找 ,缩小了查 找的范围 ,然后需要用户输入关键字进行查询 ,更加准确定位商品的具体信息。 4. 购买 功能 :看好了商品若是用户喜欢就涉及到一个购买的过程了 ,用户需要输入商品的 ID 号(通过查询得到 ) ,和购买的数量。 如果购买成功会 第 13 页 共 26 页 这些都是 J2ME 网络商店需要完成的任务 4 程序流程与具体实现 程序涉及到的若干类 一个 J2ME 程序可以没有其他类,但不能没有 MIDlet 类,只要有一个完整的主类,便是一个完整的 J2ME 程序。 比如非常精典的 HelloWorld,便只有一个MIDlet。 而本程序的主类就是 ShopMIDlet 就是一个 设计为可使应用管理软件通过次接口运行和控制的类。 它主要通过 startApp,pauseApp,destroyApp,3 个抽象方法来实现。 从他们的名字上可以非常简单的看出它们分别在启动、暂停和销毁时被调用。 在主类的基础上,陆续设计出了各个功能类。 表 1列举了 一下本程序的各个类以及对各个类的功能进行简单的说明 表 1 程序各功能类说明 ShopMIDlet 程序的主类 MainMenu 程序的欢迎界面 可以选择进入登陆界面或者退出 Denglu 程序的登陆界面 判断用户是否合法 DengluThread 具体实现和服务器相连接代。基于jme平台的掌上网络商店——客户端的开发—免费毕业设计论文
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。