版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.z---..--总结资料基于J2EE的掌上商店的设计与实现摘要过去的几年,电子商务的迅猛开展为企业创造了极大的价值,使传统的企业商务模式发生了很大的改变。随着手机使用的普及和无线技术的开展,移动电子商务将会作为电子商务领域中的一种新型的电子商务模式,其开展前景是十分诱人的。可以预见的是,移动电子商务将成为21世纪电子商务领域的主战场。J2ME是为嵌入式消费电子设备提供的JAVA语言开发平台,是针对资源受限设备。因此基于J2ME平台的无线终端的应用程序开发以及与网络效劳器端的信息交互开发就十分重要。利用客户端+Javaservlet+SQLServer数据库三层模式实现网上商店系统是通用的方法。所有的业务逻辑都封装在servlet中,数据库的使用提高了数据的平安性,而采用可扩展标识语言*ML的数据格式实现了跨平台的数据交换。详细阐述了系统的需求分析、系统总体架构及详细设计,系统实现了以下功能:会员注册、登录、浏览物品详细信息和购置物品。关键词:J2ME;可扩展标识语言;SERVLET;网络商店-.zThePalmPlatformofe-ShopBasedontheJ2ME-ServerDevelopmentAbstractOvertheyears,thefastfiercedevelopmentofelectronicmercecreatedtremendousvaluefortheenterprise,whichgreatlychangedtraditionalenterprisemercepattern.Withtheprevalenceofmobilephoneanddevelopmentofwireless,Mobilee-mercewillbeanewe-mercemodeintheelectronicmercerealm,anditisverypromising.Itcanbepredictedthatthemobilee-mercewillbeethemajorindustryofe-merceinthe21stcentury.J2MEistheplatformthatprovidestheJAVAlanguagetodeveloptheembeddedelectronicequipmentofe*pense,whichaimsattheequipmentthatresourceislimited.Thereforetheinteractiveinformatione*ploitationdevelopingwithnetworkserverandapplicationsofwirelessterminaldevelopmentbasedonJ2MEplatformisveryimportant.Itisageneralmethodtoimplementthesystemofe-shopusingthreelayersofpattern:clientside+Javaservlet+databaseofSQLServer.Allthebusinesslogicencapsulatedintheservlet,usingofthedatabaseimprovedthesecurity,andusingthe*MLdataformatachievedcross-platformdatae*change.Tothesystemdemandanalysis,thesystemrequirementanalysis,theoverallofsystemconstructionandthedetaileddesignareelaboratedindetailsinthispaper,andthesystemachievesthefollowingfunctions:Memberregistration,login,browsedetailedinformationandpurchasegoods.Keywords:J2ME;*ML;SERVLET;E-SHOP-.z目录论文总页数:24页1引言11.1选题背景11.2选题意义12相关技术及开发平台简介22.1J2ME简介22.2SQLSERVER数据库和JDBC22.3JAVASERVLET技术介绍22.4*ML和JDOM3*ML简介3JDOM技术32.5开发平台及系统配置33系统需求分析和设计方案43.1需求分析43.2系统总体框架43.3系统设计关键技术5网络的连接5数据存储方式和数据的交换53.4业务数据流分析5联网的流程5数据库的流程6输入*ML数据解析流程6输出*ML文档建立流程63.5和客户端交互接口的约定7关于URL7参数约定规则7接收和发送的*ML文档格式的约定73.6数据库的分析与设计8注册用户根本信息表user8商品信息表84具体的设计流程和实现系统构架94.1系统主要工作流程94.2系统功能模块设计9数据库联网模块的设计9注册模块的设计10登陆模块的设计13查询模块的实现15购置功能模块的实现185测试分析与问题处理215.1数据库连接215.2与客户端的连接21结论22参考文献22-.z引言选题背景网上购物正逐步走向平民化,调查机构AC尼尔森最新研究显示,63%的中国网民曾在网上购物。有业内人士认为,中国的网上购物人数在快速增长,年轻的中国男性更热衷于网上购物。民众对电子商务的热情高涨,说明我国民众电子商务意识的提高,电子商务正改变着人们的消费方式。而近年来随着移动技术的开展,手机在人们中的普及,传统的电子商务越来越满足不来了人们的需求,出现了一种新型的电子商务模式—移动电子商务。与传统的Internet上的在线交易相比,移动电子商务具有许多优点,移动交易不受时间和地点的限制;效率高,大大节省客户交易的时间;移动终端的身份固定,能够向用户提供个性化移动交易效劳;可以提供与位置相关的交易效劳。移动电子商务将用户和商家严密联系起来,而且这种联系将不受PC或连接线的限制,使电子商务走向了个人。传统的电子商务形式受到越来越大冲击,以网络化、知识管理、全球化为主要特征的信息化社会已是不可逆转的趋势,电子商务化已成为企业开展的必由之路。而信息化社会的核心是互联网、移动通信和电子商务,而三者的有机结合更是未来社会的大势所趋。移动电子商务的快速开展。移动电子商务的根底是互联网,移动电子商务的主要特点是灵活、简单、方便。它能完全根据消费者的个性化需求和喜好定制,设备的选择以及提供效劳与信息的方式完全由用户自己选择控制。移动电子商务时代正向我们走来。选题意义目前,人们逐渐意识到融合移动通信技术的电子商务将具有更大的潜力,移动电子商务的市场前景普遍被业内人士看好。参与电子商务的主要角色是企业〔Business〕和消费者〔Customer〕,因此在企业之间、企业与消费者之间,网上交易构成了BtoB〔B2B即BusinesstoBusiness企业到企业〕、BtoC〔即BusinesstoCustomer企业到用户〕两种最典型的商务模式。据预测,到2003年,超过10%的电子商务交易将通过移动通信设备来完成;预计到2008年,全球将出现10亿移动用户、10亿因特网用户,其中5亿为移动因特网用户;到2005年截止,将有25%的数据业务通过移动通信设备来传输。这些移动终端构成了移动电子商务巨大的潜在市场。移动电子商务的特征移动电子商务和传统的电子商务存在很大的区别,主要有下述两点:不受时间和地点的限制。J2ME的优点同传统的WAP相比,J2ME有很多的优点。这些优点主要表现在:网络编程灵活,能突破B/S构造的一些限制,使得上层程序更加自由。正是J2ME的优点,而基于J2ME平台的移动电子商务将具有更大的潜力和优点。本文将研究如何利用JAVASERVLET和*ML技术构建一个基于J2ME平台的掌上网络商店-效劳器端的开发。相关技术及开发平台简介J2ME简介J2ME(Java2PlatformMicroEdition)是为机顶盒、移动和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的JavaAPI。它和J2SE,J2EE一起构成Java技术的三大版本,并且同样是通过JCP〔JavamunityProcess〕制订的。目前阶段,J2ME最流行的应用是游戏软件。因为与需要昂贵的专用设备和开发工具的竞争对手〔如索尼和任天堂〕相比,J2ME程序可以在PC机上开发和仿真运行,然后很容易地部署到目标机上,从而使其开发、测试和发布的变得容易和廉价。实际上J2ME的用途和前景要广泛得多。SQLSERVER数据库和JDBCSQLServer是一个关系数据库管理系统。它最初是由MicrosoftSybase和Ashton-Tat三家公司共同开发的,于1988年推出了第一个OS/2版本。在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了。Microsoft将SQLServer移植WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。Sybase则较专注于SQLServer在UNI*操作系统上的应用。在本书中介绍的是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的功能涉及*围很广。*ML和JDOM*ML简介*ML是可扩展标志语言(e*tensibleMarkupLanguage)的简称。标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章。如何定义这些标记,既可以选择国际通用的标记语言,比方HTML,也可以使用象*ML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。*ML是从SGML中简化修改出来的。它主要用到的有*ML、*SL和*Path等。象HTML一样,*ML是从所有标志语言的元语言—标准通用标志语言SGML(StandardGeneralizedMarkupLanguage)那里派生出来的。SGML是一种元语言,也可以称为一个定义诸如HTML等标志语言的系统。*ML也是一种元语言,一个定义Web应用的SGML的子集。和SGML一样,你也可以用*ML来定义种种不同的标志语言满足不同的需要,特别在数据表现方面。JDOM技术JDOM是一种面向Java的读、写和操作*ML文档的API。JDOM与现行的SA*和DOM标准兼容,为Java程序员提供了一个简单、轻量的*ML文档操作方法。由于JDOM是专门为Java程序员开发的,所以采用许多Java语言的优秀特性,比方方法重载、集合(Collections)和类映射(Reflection)。开发平台及系统配置当前流行的JAVA开发平台主要有BORLAND的UILD,SUN的NETBEANS和开源的ECLIPSE。但是UILD相比拟而言简单易用,学习曲线比拟平缓。所以开发本系统选用UILD。下面是开发平台及系统配置:操作系统:WINDOWS2003。数据库:SQLSERVER2000。开发工具:UILD9。附带的JDOM包为:jdom-1.0。需要的JDBC驱动程序为:MicrosoftSQLServer2000DriverforJDBC。在UILD9所建立工程属性里面要引入jdom-1.0和MicrosoftSQLServer2000DriverforJDBC。系统需求分析和设计方案需求分析在移动电子商务中,出于平安的考虑用户要有自己的账号,只有注册成功获得账号才能登陆进展必要的操作。所以效劳端设计中要有注册登陆的功能。当客户第一次使用系统的时候要先进展注册。在效劳端的要的注册模块要完成的工作便是:承受客户的注册资料,然后与自己的数据库的已有客户资料进展比对,检查账号是否重复。如果重复在要返回提示信息:户账号已经存在。如果没有,把用户注册的资料插入的用户信息表中,而后返回注册成功信息:用户注册的名字和密码。在用户登陆的时候,效劳端核对账号密码。如果一致,用户可以进展后续的操作,如果不成功,则返回登陆错误信息。用户登陆成功后的可能要查询*件的详细资料,查询的时候输入查询物品的名称,如果有,效劳端返回查询的详细信息,其**息的格式可以是*ML的形式。也可以选择以字符串的形式发送。用户浏览到物品信息时想购置的话。则只要输入购置物品的ID和购置的数量。这些购置物品数据从客户端以*ML数据格式发送给效劳端。效劳端首先要解析传送过来的*ML文档提取的数据信息。如果信息合法且购置成功就返成功信息和购置物品信息。否则返回购置失败的信息。系统总体框架利用J2ME和JAVASERVLET建立企业级移动电子商务应用是非常适宜的,可以通过J2ME技术建立客户终端程序,通过JAVASERVLET建立我的效劳端程序。系统的总体框架如图1。图SEQ图表\*ARABIC1总体框架图在支持J2ME技术的PDA,手机等移动设备终端,可以利用它们支持的各种简档设计客户端程序,实现与用户的交互,同时,通过、S或*ML等标准的网络协议与J2EE应用效劳器实现数据传递。Web层和企业信息系统层用于构建我的效劳器端应用,其中Web层用于实现与客户层的接口和交互,它使用Servlet程序处理客户端发出的连接和请求,并通过JDBC连接到企业信息系统层的数据库系统上。数据库系统处理SQL语句,会将处理结果以一个结果集的形式发送到业务逻辑层,业务逻辑层将接收到的信息提交给Web层的Servlet程序,Servlet程序再通过、S或*ML将响应信息返回到客户端。系统设计关键技术网络的连接由于无线设备所能支持的网络协议非常有限,仅限于,Socket,UDP等几种协议,不同的厂家可能还支持其他网络协议,但是,MIDP1.0规*规定,是必须实现的协议,而其他协议的实现都是可选的。因此,为了能在不同类型的手机上移植,我们采用作为网络连接的首选协议,这样还能重用效劳器端的代码。但是,由于是一个基于文本的效率较低的协议,因此,必须仔细考虑手机和效劳器端的通信内容,尽可能地提高效率。在登陆和注册的时候传输的数据量较少,选用GET方法在基于效率上考虑比拟适宜的。在效劳端对应的采用DOGET方法。而对于在浏览和购置的时候传输的数据量大一些,POST方法是不得不选用的,虽然其效率上比拟低,但是它可以传输比拟大的数据量,GET方法传输给效劳端的数据量是有限制的。对应的效劳端为DOPOST方法。数据存储方式和数据的交换由于有大量的数据,采用简单的文件系统显然不适宜,采用数据库管理系统对于设计来说是比拟简单的,在系统设计中要存储用户的根本信息和商品的根本信息,这就需要用两*表来存储其中的数据。设计表的时候要设置主键以加强数据的完整性。而对于数据的交换格式,本系统则采用*ML数据格式,在定义*ML数据格式,只要是well-formed,而不需要定义其DTD,以及显示样式表。无论建立还是解析*ML,对于JAVA语言来说JDOM是必需的。JDOM是在Apache许可证下发布的开放源码,是JAVA语言中*ML和DOM交互的API。在设计实现中将用JDOM建立一个标准的well-formed的*ML文档,也将用JDOM解析一个*ML文档。业务数据流分析联网的流程联网的时候按照如下的流程:1、建立连接。2、设置输出的文档MIME类型,设置为te*t/plain。设置数据编码方式,翻开输出流。3、从URL字符串获取参数,判断参数是否合法,如果OK则开场承受数据并进展相应的处理。4、经过处理的结果传输数据给客户端。5、关闭连接和流。数据库的流程1、装入JDBC程序。要使用JDBC数据库,首先必须加载JDBC驱动程序,只需一句代码Class.forName(".microsoft.jdbc.sqlserver.SQLServerDriver")。2、建立连接。建立连接的标准方法是DriverManager.getConnection(Stringurl,Stringuser,Stringpassword)。3、执行SQL语句。4、检索结果。5、关闭连接。在对象使用完毕后,应当关闭连接。输入*ML数据解析流程由客户端发送过来的数据是*ML的格式,首先效劳端要解析这些*ML格式的数据得到所需要的信息。而解析*ML需要用的JDOM。JDOM自身不包含解析器。它通常使用SA*2解析器来解析和验证输入*ML文档。它包含一些转换器以将JDOM表示输出成SA*2事件流、DOM模型或*ML文本文档。解析的流程如下:1、使用JDOM首先要指定使用什么解析器。2、得到Document。3、得到根元素。4、得到元素〔节点〕的集合。5、轮循List集合。6、取得元素的子元素〔为最低层元素〕的值。7、DOM结果处理(输出/保存)。输出*ML文档建立流程向客户端发送*ML格式数据,首先要建立*ML格式的文档数据。这也将用到JDOM。在JDOM中,*ML元素就是Element的实例,*ML属性就是Attribute的实例,*ML文档本身就是Document的实例。因为JDOM对象就是像Document、Element和Attribute这些类的直接实例,因此创立一个新JDOM对象就如在Java语言中使用new操作符一样容易。JDOM的使用是直截了当的。建立*ML文档的流程如下:1、首先建立根元素。2、然后用root创立*ML文档对象。3、创立元素,设置内容,属性。4、结果处理(输出/保存)。和客户端交互接口的约定关于URL效劳端和数据端的网络通讯采用协议。购置模块的URL地址为:localhost:8080/servlet/PurchaseServlet。登陆模块的URL地址为:localhost:8080/loginservlet1。注册模块的URL地址为:localhost:8080/registerservlet。浏览物品模块的URL地址为:localhost:8080/userdataservlet。URL参数约定规则在注册模块和登陆模块中用户的**约定为id;用户的密码约定为pw。在查询的模块中首先以书名为查询参数,参数约定为name;在登陆中如果登陆成功则返回给客户端yes返回失败返回no。接收和发送的*ML文档格式的约定在查询的模块中往客户端发送的*ML格式的约定为<name>元素的文本内容物品的名字,<id>元素文本内容为物品的ID,<press>元素内容为产地,<price>元素内容为价格,<description1>元素内容为物品描述信息,<quantity>元素内容为数量。如果根节点不为<wrong>则表示查询失败<errorinfofmation>返回的是失败信息。查询成功*ML式样如下:<?*mlversion='1.0'encoding='UTF-8'?><courses><name>name</name><id>id</id><press>author</press><price>price</price><description1>description</description><quantity>quantity</quantity></courses>查询失败*ML式样如下:<?*mlversion='1.0'encoding='UTF-8'?><wrong><errorinformation>thereissomethingwronghere</errorinformation></wrong>在购置模块中要购置物品的需要物品的ID。ID约定为元素<id>的内容,购置数量约定为<quantity>元素的内容。接收的*ML文档为:<?*mlversion='1.0'encoding='UTF-8'?><courses><id>id</id><quantity>quantity</quantity></courses>数据库的分析与设计注册用户根本信息表user表user包含4个字段,分别是account,password,username,tele,其中account设置为主键,如表1。表1用户根本信息表列名数据属性长度是否为NUL是否主键accountchar8否是passwordchar8否否usernamechar8是否telechar8是否商品信息表商品信息表是物品根本信息的简单介绍,它其中包括7个字段,分别是name,id,press,descrption1,price,author,quantity其中设置id为主键,如表2。表2商品信息表列名数据属性长度是否能为NULL是否主键namechar8能否idchar8否是pressvarchar1024能否authorvarchar1024能否decrpiton1te*t8000能否pricemoney4能否quantityint2能否具体的设计流程和实现系统构架系统主要工作流程在客户端进入启动画面的时候,对于有账号用户来说可以首先选择是否登陆。如果不想登陆也可以退出系统。假设用户没账号首先要申请**,如果不想申请**则也直接退出系统。假设用户申请成功,则进入登陆流程,如果登陆成功。用户就可以浏览物品,如果不想购置物品,也可以直接推出系统。如果购置物品,假设成功可以选择退出,或则继续浏览物品。流程图如图2。图SEQ图表\*ARABIC2系统流程图系统功能模块设计注册模块的设计客户第一次使用系统的时候必须先进展注册。在效劳端的要的注册模块要完成的工作便是承受客户的注册资料然后与自己的数据库的已有客户资料进展比对,看看有没有账号和用户所的账号是否重复,如果重复在要返回提示信息就用户账号已经存在。如果没有在把要把用户注册的资料插入的用户信息表,而后返回注册成功信息以及用户注册的名字和密码。图3和图4显示了失败和成功的信息。下面是程序要引用的包:importjava.util.*;importjava*.servlet.*;importjava*.servlet..*;importjava.io.*;importjava.sql.*;importjava*.sql.*;importmy.*;importorg.jdom.Element;importorg.jdom.Document;importorg.jdom.output.*MLOutputter;importjava.sql.SQLE*ception;使用doGet()方法来对应客户端的请求。然后设置发送的文本样式response.setContentType("te*t/plain;charset=UTF-8");用request.getParameter()提取客户段发送的参数。查询数据库的设计如下:/**在数据库进展查询看看是否用户名已经存在,存在返回true,否则返回false。**/privatebooleanDBConnection(Stringaccount){Connectionconn=null;ResultSetrs=null;Statementstmt=null;booleanft=false;try{JDBCDemoda=newJDBCDemo();conn=da.getConnection();stmt=conn.createStatement();Stringmand="selectaccountfromshenfeng128whereaccount="+"'"+account+"'";rs=stmt.e*ecuteQuery(mand);if(rs.ne*t()){ft=true;}rs.close();stmt.close();conn.close();System.out.println("databaseconnectsuccess");}catch(E*ceptione){e.printStackTrace();System.out.print("thereisomethingwronghere");}returnft;}然后是查询成功发送的实现如何/**更新数据库,如果更新成功返回更新所影响的行数,否则返回0**/privateintDBConnectionUpdate(Stringaccount,Stringpassword){Connectionconn=null;ResultSetrs=null;intcount=0;Statementstmt=null;try{JDBCDemoda=newJDBCDemo();conn=da.getConnection();stmt=conn.createStatement();Stringmand="insertintoshenfeng128values("+"'"+account+"',"+"'"+password+"')";count=stmt.e*ecuteUpdate(mand);if(rs!=null)rs.close();if(stmt!=null)stmt.close();if(conn!=null)conn.close();System.out.println("databaseupdatesuccess");}catch(E*ceptione){e.printStackTrace();System.out.print("theresomethingwronghere");}finally{}returncount;}图SEQ图表\*ARABIC3注册失败截图图SEQ图表\*ARABIC4注册失败截图登陆模块的设计查询模块的实现当用户登陆成功后的操作可能是查询图书的资料,查询的操作是输入查询事物的名字,如果有此事物,在效劳端向客户端返回查询的详细信息,其**息的格式可以是*ML的形式。也可以选择以字符串的形式发送。查询成功发送给客户端的数据截图如图6。查询数据库的模块如下:/**Getconnecttodatabasetthenqueringandreturntheresultset**/privateStringDBConnection(Stringname,Stringtable){if(name==null||table==null)returnnull;Stringstr=null;Connectionconn=null;ResultSetrs=null;Statementstmt=null;try{JDBCDemoda=newJDBCDemo();conn=da.getConnection();stmt=conn.createStatement();Stringmand="select*from"+table+"wherename="+"'"+name+"'";rs=stmt.e*ecuteQuery(mand);str=toSstring(rs);rs.close();stmt.close();conn.close();System.out.println("databaseconnectsuccess");}catch(E*ceptione){System.out.print("thereissomethingwronghere");}returnstr;}查询数据库的结果集可以转换成字符串的形式,也可以转换成*ML的格式。转换字符串的实现如下:/**BuildresultsettoString**/privateStringtoSstring(ResultSetrs){StringBuffers1=newStringBuffer(");StringBuffers2=newStringBuffer(");StringBuffers3=newStringBuffer(");StringBuffers=newStringBuffer("");try{while(rs.ne*t()){s.append("\n");s.append("Id="+rs.getString("id")+"\n");s.append("Name="+rs.getString("name")+"\n");System.out.println(rs.getString("name"));s.append("Price="+rs.getString("price")+"\n");s.append("Press="+rs.getString("press"));s.append("quantity="+rs.getString("quantity"));s.append("");}}catch(SQLE*ceptione*){e*.printStackTrace();}returns.toString();}JDOM建立*ML文档实现如下:privateDocumentto*ml(ResultSetrs){ElementBookInfo=newElement("BookInfo");DocumentmyDocument=newDocument(BookInfo);Elementbookname=null;try{while(rs.ne*t()){bookname=newElement("bookname");Elementprice=newElement("price");Elementdescription=newElement("description1");Elementpress=newElement("press");bookname.setTe*t(rs.getString("name"));price.setTe*t(rs.getString("price"));description.setTe*t(rs.getString("descrption1"));press.setTe*t(rs.getString("press"));BookInfo.addContent(bookname);BookInfo.addContent(price);BookInfo.addContent(description);BookInfo.addContent(press);}}catch(E*ceptione){e.printStackTrace();System.out.println("build*mlerror");}System.out.println("build*mlsuccess");returnmyDocument;}图SEQ图表\*ARABIC6浏览的信息截图购置功能模块的实现当用户成功登陆后,查询有关的物品,然后得到有用的信息。如果用户想购置商品则只要输入购置物品的ID和购置的数量就行啦,这些数据从客户端以*ML数据格式发送给效劳端。在效劳端首先要解析传送过来的*ML文档提取有用的数据信息。购置成功效劳端向客户端发送的数据截图如图7。用JDOM解析*ML的详细实现如下:/**parse*ml**/privatevoidparse*ml(Stringte*t*ml){SA*Builderbuilder=newSA*Builder();Documentdoc=null;Readerin=newStringReader(te*t*ml);try{doc=builder.build(in);Elementroot=doc.getRootElement();Listls=root.getChildren();for(Iteratoriter=ls.iterator();iter.hasNe*t();){Elementel=(Element)iter.ne*t();if(el.getName().equals("id")){id=el.getTe*t();}if(el.getName().equals("bookname")){bookname=el.getTe*t();}if(el.getName().equals("price")){price=el.getTe*t();}if(el.getName().equals("description1")){description1=el.getTe*t();}if(el.getName().equals("press")){press=el.getTe*t();}}}catch(JDOME*ceptione*){e*.printStackTrace();System.out.println("jDOMerror");}System.out.println("thisisatest");}解析后然后查询自己的物品数据库,看看购置的物品是不是在自己的数据库中,以及是否购置的数量是否超过自己的库存。如果都不超过在返回购置成功信息。否则返回失败信息。购置成功后,要对数据库进展更新操作。/**Getconnecttodatabasetthenupdatathedatabase**/privateintDBConnectionUpdata(intcount,Stringid){intupdate_count=0;Connectionconn=null;ResultSetrs=null;Statementstmt=null;try{JDBCDemoda=new
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《深圳大学图书馆》课件
- 《电子服务概论》课件
- 2024届安徽省部分学校高三上学期期末考试历史试题(解析版)
- 2024年辽宁轻工职业学院单招职业技能测试题库完整答案
- 单位管理制度集粹选集【人事管理篇】十篇
- 单位管理制度汇编大全【员工管理篇】
- 单位管理制度合并选集职工管理篇
- 《法国雪铁龙公园》课件
- 单位管理制度分享合集【职工管理篇】
- 单位管理制度呈现大全【职工管理】十篇
- 江西省景德镇市2023-2024学年高二上学期1月期末质量检测数学试题 附答案
- 2024年办公楼卫生管理制度模版(3篇)
- 船舶防火与灭火(课件)
- 保险公司2024年工作总结(34篇)
- 2024年01月22503学前儿童健康教育活动指导期末试题答案
- 湖北省荆州市八县市2023-2024学年高一上学期1月期末考试 化学 含解析
- 2024年世界职业院校技能大赛中职组“婴幼儿保育组”赛项考试题库-上(单选题)
- 《水文化概论》全套教学课件
- 期末测评(基础卷二)-2024-2025学年一年级上册数学人教版
- 深圳大学《数值计算方法》2021-2022学年第一学期期末试卷
- 社区共享菜园建设方案及实施计划
评论
0/150
提交评论