基于BS架构的B2C网上书城电子商务系统【毕业论文】.doc

上传人:文初 文档编号:17398 上传时间:2018-04-26 格式:DOC 页数:35 大小:1.53MB
下载 相关 举报
基于BS架构的B2C网上书城电子商务系统【毕业论文】.doc_第1页
第1页 / 共35页
基于BS架构的B2C网上书城电子商务系统【毕业论文】.doc_第2页
第2页 / 共35页
基于BS架构的B2C网上书城电子商务系统【毕业论文】.doc_第3页
第3页 / 共35页
基于BS架构的B2C网上书城电子商务系统【毕业论文】.doc_第4页
第4页 / 共35页
基于BS架构的B2C网上书城电子商务系统【毕业论文】.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、本科毕业设计(20届)基于B/S架构的B2C网上书城电子商务系统所在学院专业班级通信工程学生姓名学号指导教师职称完成日期年月I摘要【摘要】随着计算机网络应用技术的日益发展壮大,电子商务系统的发展也十分迅猛。电子商务模式下的网络营销有利于企业降低成本,整合社会资源,提高决策反应效率,因此越来越受到更多企业的青睐。如今电子商务信息管理系统的实施也已在技术上也相当成熟。结合当下电子商务蓬勃发展的趋势,本文将结合一个基于B/S架构的B2C网上书城电子商务系统“EGOBOOK”网上书城电子商务系统的设计构建来做较深入的研究探讨。内容包括“EGOBOOK”网上书城电子商务系统的设计,构建,实现,应用等。【

2、关键词】电子商务;网上书城;JSP;STRUTS;HIBERNATEABSTRACT【ABSTRACT】WITHTHEGROWINGTECHNOLOGYOFTHECOMPUTERNETWORKAPPLICATION,THEECOMMERCEISDEVELOPINGVERYRAPIDLYTHENETWORKMARKETINGINTHEECOMMERCEWILLCUTTHECOST,INTEGRATETHERESOURCES,ANDIMPROVETHEEFFICIENCYOFREACTINGANDMAKINGADECISIONHENCEITISMOREANDMOREPOPULARINTHEENTE

3、RPRISESTODAYTHEIMPLEMENTINGTECHNOLOGYHASBEENFULLFLEDGEDONTHEMISOFECOMMERCEINTHISTREND,WEWILLSETUPANONLINEBOOKSTOREUSINGECOMMERCESYSTEMBASEDONTHEB/SSTRUCTUREEGOBOOKANDSTUDYABOUTITSDESIGNANDSTRUCTUREINDEPTHTHISPAPERINCLUDESTHEDESIGN,ARCHITECTURE,IMPLEMENTATIONANDAPPLICATIONOFTHISSYSTEM【KEYWORDS】ECOMME

4、RCEONLINEBOOKSTOREJSP;STRUTS;HIBERNATEII目录1选题背景111电子商务行业概述112网上书城概述及系统特征1121网上书城概述1122网上书城系统特征113网上书城在中国的机遇与挑战22需求分析与数据库设计421EGOBOOK系统需求分析422功能模块设计4223购物车模块5224顾客留言建议模块523数据库设计73架构设计931B/S与C/S结构9311C/S结构9312B/S结构932MVC模式933STRUTS实现MVC模式1034轻量级持久化框架HIBERNATE1035AJAX异步通信1136项目开发环境124系统详细设计1341系统可扩展性设计

5、1342日志功能1443顾客注册登录模块1444HIBERNATE实现数据持久层18441HIBERNATE配置文件基本配置18442DAO接口设计1845图书检索浏览模块19451图书浏览19452图书搜索2046购物车模块2047顾客留言模块及顾客留言管理模块21471留言模块21472留言管理模块2148后台登陆模块2149图书管理模块22410订单管理模块、会员管理模块、系统用户管理模块235系统测试与维护2451测试概要2452EGOBOOK系统测试与维护24III521确定测试范围24522测试条件准备和说明24523测试步骤与测试记录2453系统测试结论2654未来的开发和研究的

6、方向26参考文献27致谢27附录2811选题背景11电子商务行业概述在互联网逐渐进入千家万户的时代,越来越多的企业意识到互联网所带来的巨大商机。电子商务,网络营销有利于企业进一步降低成本,整合社会资源,提高决策反应效率,因此受到了越来越多企业的青睐。12网上书城概述及系统特征如今网络上各种网上商城系统已经十分普遍,网上书城电子商务系统也比较多,较为知名的有卓越,亚马逊,当当网等。网上书城为希望购书的客户提供了一个十分便捷的购书平台,人们可以足不出户,通过互联网访问网上书城的页面选书,通过支付宝等网络支付手段完成付费购书,通过快递、邮寄等物流手段最终在家门口拿到自己选购的图书。121网上书城概述

7、在B2C结构下的网上书城电子商务系统中,我们可以认为“B”就是书店,“C”就是普通顾客。在网上购物诞生之前,书店经营基本上是一种“守株待兔”的模式,他的维系可以说是依靠人们对知识的渴望来完成的。书店的经营不同于其他商品,没有遍地开花的店铺,没有铺天盖地的广告,也没有类似房地产一样的刚性需求,这种情况下一定程度上限制了人们购书的积极性,同时人们还会常常苦恼找不到自己想要的书。在网络时代到来之后,网上书城的到来也彻底改变了从前的图书经营模式,当顾客需要一本自己想要的书时,只需要打开浏览器进入网上书城,搜索自己需要的图书名目,通过鼠标的一串点击操作就可买到自己想要的图书了。在1998年亚马逊网上书店

8、就已拥有450万名顾客,2002年有将近32亿人次进行过网上购书,销售额达到了78亿美元。业界也普遍认为网售将成为今后图书销售的最主要方式。网上书城这种图书销售模式相较于传统的图书销售模式还有它独特的优势。这种模式可以一定程度上挤压盗版出版物销售空间,可以再售书的源头上堵截盗版图书流入市场。它节约了大量图书的存储空间,可以把待售图书集中存放于仓库,通过客户订单提取图书也不需要专门的店面。网上书城可以展售的书目数量多、种类多、出版时间跨度大。图书的销售不受时间、地域限制客户借助网络可以畅游世界各地的书海中,随时选书、随心购书。人性化图书搜索功能可以帮助顾客迅速找到自己想要的图书。丰富多彩的个性服

9、务还为顾客提供了阅书、评书、交流读书心得的平台让读书趣味化。足不出户的购书方式更适合快节奏的生活步调,为疲于工作和生活紧张的人群提供了最佳选择。122网上书城系统特征2同一般的网上商城相比,网上书城并没有很大区别,甚至可以认为网上书城经营的是经营图书类商品的网上商城。一般的,一个完整的网上书城电子商务系统应该包括有前台营业、后台管理、数据库三个大的部分。前台营业部分主要面对顾客,为购书者提供所售书籍展示、图书检索和购买三种基本功能。后台管理部分主要面对网站和图书管理员,为不同类别的管理员提供了包括会员管理和图书管理的相关操作功能。数据库的作用不言而喻,它记录了图书信息、管理员信息、售书信息等各

10、种图书交易过程中涉及到的关键数据。在类似于当当网等这样比较成熟的网上书城系统中,对各部分的功能更做了进一步的细化和人性化处理。例如网购的会员系统,顾客通过注册会员,登陆购书可以享受不同级别的购书优惠;图书的预览功能,顾客可以点击感兴趣的图书,查看详细信息,了解更多的图书内容;购物车功能,这与一般的网购系统的购物车系统基本一样,顾客可以一次选购多本图书,或者将感兴趣的图书暂时的保存在自己的购物车中,需要时一次支付。购书过程跟踪功能,顾客可以在系统中查看自己订购的图书的物流运送情况;后台管理明细为会员管理、系统管理、订单管理等部分。另外,还有一些非功能性设计,主要是业务流程中的一些逻辑问题。13网

11、上书城在中国的机遇与挑战在我国,第一家网上书店建立于1995年。新华书店系统的第一个网上书店在1997年4月建立于杭州。后来发展到比较有影响的有当当网、卓越网、旌旗席殊网、中国书网北京图书大厦、上海书城、中国寻书网等。一般的,业界认为制约B2C电子商务网售系统的主要因素有三个一是信息是否丰富完备;二是支付系统是否安全、高效、可靠;三是物流过程是否畅通无碍。就目前国内信息产业的发展状况来看,第一个要素已经基本完备,网络技术和计算应用的普及已经有了足够的深度。书城经营者可以轻松的通过网络、电视等媒体做广告营销,发布书讯信息;顾客可以通过信息搜索、网络社区交流探讨等多种途径获得图书的相关信息;两者之

12、间通过网络和电话等进行交流也十分的方便。但是值得指出的是目前国内网上书店的宣传还仅仅局限在网络而已,网络以外的媒体宣传手段和力度还远远不足。购书过程中的一个核心环节就是资金支付,虽然支付手段有信用卡、支票付款、邮局汇款等多种支付方式,但是在电子商务背景下不能实现网络支付好比坐着飞机只能飞出自行车的速度。因此第三方网络支付平台应运而生,经过几年的发展,相较于几年前,目前我国在网络支付方面已经有了长足的进步,国内也诞生了一些具有普遍认同感的第三方支付平台服务商,例如支付宝、网银、财付通等等。如此看来,安全可靠高效的网络支付系统也已准备就绪,但是资金流通过程中的手续费用过高还是有待改进的。购书过程的

13、最后一个环节就是物流配送环节。书城经销商可以选择自己组建物流和配送中心,3但是成本较大,也可以委托物流公司或快递公司完成图书配送。目前国内的网上书城系统基本都选择了后者进行物流配送,但是目前国内的物流,特别是快递行业还比较混乱,让绝大多数顾客满意的快递公司几乎没有。所以一个规范的,健康的,可以信任的物流配送系统是目前国内网上书城进一步发展壮大的必要因素1。42需求分析与数据库设计21EGOBOOK系统需求分析EGOBOOK网上书城电子商务系统与常见的网上书城基本相同,具体功能需求如下(1)会员系统,顾客可以方便的注册会员,登录书城系统。(2)书籍浏览,顾客可以浏览和查看所有待售书籍。(3)搜索

14、系统,顾客可以使用搜索功能灵活的检索所需图书的信息,价格等相关情况。(4)明细查看,顾客可以对图书的详细信息进行查看,了解。(5)购书篮,类似于普通网上书城的购物车系统,可以添加、删除、修改选购图书。(6)顾客留言,登陆顾客可以发表个人留言,提出意见。(7)图书管理,图书管理员可以对待销图书做出下架、上架、修改售卖信息等操作。(8)订单管理,对生成的购书订单进行受理,发货等处理(9)会员管理,对会员顾客信息进行管理,反馈顾客意见等。(10)系统管理,对系统用户进行增、删、改、查等操作。根据以上需求分析可以画出本体统的用例图,如图21图21系统实现用例图22功能模块设计221注册、登录模块EGO

15、BOOK网上书城系统的全部功能需要已注册客户登陆后才可开启,在未登录状态下,顾客仅仅可以浏览和搜索图书。顾客登录后才可以进行正常的图书选购和留言等功能。这是因为图书的购本文图片均由PPT或POWERDESIGNER制作。5买和配送环节需要客户提供完整的真实的个人信息,以确保在购买图书后能够顺利邮寄。图22是用户注册登录模块的业务流程图。图22注册、登录模块业务流程图222图书搜索浏览模块顾客可以对所有图书进行全部浏览,也可以选择不同图书分类进行分类图书浏览,也可以输入关键字对所需图书进行搜索,将符合条件的图书展示于顾客。图书浏览和显示的主要内容包括图书名称,封面图片,图书编号,价格,出版商,出

16、版日期等。图23是图书搜索浏览模块的业务流程图。图23图书搜索浏览模块的业务流程图223购物车模块顾客成功登陆后可进行购物车管理的相关操作,主要包括对放入购物车的图书做的增、删、改、查以及订单处理等操作。购物车模块的业务流程图如图24。图24购物车模块的业务流程图224顾客留言建议模块6成功登陆后的顾客可以在留言页面发表个人留言,建议。这些留言在经过会员管理员的查阅后可以得到回复。当然,留言成功需要对留言内容做简单的有效性判断。例如不能是太短的无意义的留言,留言中不可包含不和谐内容等。图25为顾客留言建议模块的业务流程图。图25顾客留言建议模块业务流程图225后台登陆模块管理员成功登陆时,系统

17、会根据登陆的账号密码来区分管理员权限,根据登陆管理员的权限进入下一个功能模块。图26为后台登陆模块的业务流程图。图26后台登陆模块的业务流程图226图书管理模块图书管理员可以对待销图书做出下架、上架、修改售卖信息等操作。还可以对图书新增或修改分类,折价等。图27为图书管理模块业务流程图。图27图书管理模块业务流程图227订单管理模块订单管理员登陆后可以根据订单日期范围、订单编号、订单完成状态等查看订单的相关操作。7另外的,订单管理员也有权对订单完成状态、订单中已购图书进行修改数量和删除等操作。图28为订单管理模块的业务流程图。图28订单管理模块的业务流程图228会员管理模块会员管理员在登陆管理

18、员界面后,可以通过会员注册时间,会员级别,会员ID等字段获得所有会员的列表。会员管理员可以对会员信息做详情查看,级别修改,删除会员等操作。另外会员管理员还要负责顾客留言模块的维护。图29为会员管理模块的业务流程图。图29会员管理模块业务流程图229系统用户管理模块系统管理员登陆后可以查看系统管理用户列表,查看某个用户的详细信息,新增用、修改和删除系统用户。图210为系统用户管理模块的业务流程图。图210系统用户管理模块业务流程图23数据库设计根据EGOBOOK的需求分析,结合实际的功能要求,EGOBOOK数据库设计的物理模型如图2118所示。如下图所示,EGOBOOK数据库由图书类别表、图书表

19、、系统用户(管理员)表、会员级别表、会员表、购物车表、购书篮图书选购表、订单表、留言表九个数据表组成2。图书表与图书类别表为多对一关系;购书篮图书选购表与图书表为多对一关系;购物车图书选购表与购物车表为多对一关系;购物车表与会员表为多对一关系;会员表与会员级别表为多对一关系;订单表与会员表为多对一关系;订单表与购物车表为一对一关系;留言表与会员表为多对一关系;留言表与系统用户表为多对一关系2。图211数据库设计物理模型1图书类别表IDINT分类名称HAR40类别描述TEXT系统用户表IDINT管理员类别INT管理员实名CHAR12账号CHAR12密码CHAR12会员级别表IDINT级别名称CH

20、AR20折扣优惠INT图书表IDINT图书类别IDINT书名CHAR40书价DECIMAL8,2书特价DECIMAL8,2书本编号CHAR40书预览图VARCHAR100书描述TEXT出版单位CHAO60出版日期DATETIME有无特价INT数量INT热销季节INT会员表IDINT会员级别IDINT登陆账号CHAR12登陆密码CHAR12实名CHAT20电话CHAR15地址VARCHAR100邮编CHAR10注册日期DATETIME最近登陆DATETIME登陆次数INT电子邮箱VARCHAR100购书篮图书选购表IDINT图书IDINT图书数量INT书价DECIMAL8,2金额DECIMAL9

21、,21N111111NNNNN订单表IDINT会员IDINT购物车IDINT订单编号CHAR20订单日期DATETIME订单状态INT购物车表IDINT会员IDINT图书数量INT总金额DECIMAL9,2购物车状态INT留言表IDINT会员IDINT管理员IDINT留言标题CHAR60留言内容TEXT留言日期DATETIME回复内容TEXT回复日期DATETIMENN1193架构设计31B/S与C/S结构311C/S结构C/S即“客户端服务器”结构。这种结构需要在客户端安装一个软件,把业务需求分配到客户机与服务器两端分别进行。C/S结构下,客户端软件不能做到跨平台通用,需要针对不同的操作系统

22、和运行环境开发不同版本的软件。这种结构下软件的升级和维护也是困难的,而且它需要面对的往往是及其复杂的用户需求。在B2C电子商务模式下,需要面对无数的客户,而且相对于C/S结构下的大型网游而言这种购买和支付的客户需求较为简单,所以使用C/S架构来实现电子商务系统是不切实际的。但考虑到安全性等具体因素,往往采用B/SC/S(前台使用B/S结构,后台管理使用C/S结构)的混合架构来实现3。312B/S结构B/S即“浏览器服务器”的结构。随着互联网技术的日益进步和完善,这种结构的应用也越来越广泛。这种结构下的操作界面是通过浏览器来展示实现的。这种结构大大简化了客户端电脑载荷,降低了系统维护与升级的成本

23、和工作量。而且B/S结构的网络应用和数据传输模式比较易于把握、成本较低。虽然业界对B/S结构的安全性的质疑一直不断,但随着网络技术的发展,B/S结构的这一缺陷也越来越淡化消失了。这种结构还可以很方便的实现不同的人员,从不同的地点,访问和操作共同的数据库的操作。鉴于B/S结构的这些特点和电子商务领域的应用特征,EGOBOOK网上书城电子商务系统将用B/S架构也是自然而然的3。32MVC模式MVC(MODELVIEWCONTROLLER)是一种软件设计模式,最早出现在SMALTALK中,它是目前最为流行的一种软件设计模式。MODEL,VIEW,CONTROLLER4是MVC模式下的三类对象;MOD

24、EL也叫模型层,是应用对象,它封装了应用程序的状态参数,业务数据和业务逻辑在EGOBOOK中,将由相关的ACTION类来封装业务逻辑,形成功能模型;VIEW也叫视图层,它负责展示视图界面,发送用户表单数据等工作,在EGOBOOK中将使用JSP、HTML、CSS等技术来实现VIEW层的相关功能;CONTROLLER也称为控制器,负责根据用户输入来控制用户界面数据显示以使MODEL对象的状态更新,在EGOBOOK中控制器功能将由STRUTS来实现。EGOBOOK整个系统的设计都将遵守MVC的软件设计模式,图31为MVC模式下的EGOBOOK网上书城电子商务系统的架构示意图。10图31MVC模式下的

25、网上书城电子商务系统的架构示意图33STRUTS实现MVC模式STRUTS由七个STRUTS核心类、两个个配置文件、若干标签库三个部分组成。核心类包括ACTIONSERVLET(中央控制器类)、ACTIONCLASS(事务逻辑类)、ACTIONFORM(显示模块数据类)、ACTIONMAPPING(映射操作类)、ACTIONFORWARD(对象指示操作类)、ACTIONERROR(错误处理器类)、STRUTSTLD(标签库类)。两个配置文件包括APPLICATIONRESOURCESPROPERTIES和STRUTSCONFIGXML。前者用来存储本地化信息和标签,并且实现消息内容的统一维护和

26、管理,使应用能够支持国际化;后者存放配置器所需的配置信息,在EGOBOOK中,它的配置大致包含六项FROMBEANS(指示ACTIONFORM包路径)、GLOBALFORWARDS(指示全局转发关系)、ACTIONMAPPINGS(指示ACTION映射关系)、MESSAGERESOURCES(指示消息资源路径)、相关插件(配置STRUTSMENU和VALIDATOR)。EGOBOOK中使用的三个标签库包括STRUTSHTMLTLD(扩展HTMLFORM的JSP标签);STRUTSBEANTLD(扩展处理JAVABEAN的JSP标签)STRUTSLOGICTLD(扩展测试属性值的JSP标签)4。

27、34轻量级持久化框架HIBERNATE概括地说,HIBERNATE是一种对象关系映射(ORM)框架,它对JDBC进行了对象封装,连接了11面向对象设计和关系数据库,开发者可以采用面向对象的设计思想来操作关系型数据库,在任何使用JDBC的场合它都可以应用。HIBERNATE采用了低侵入式的设计模式,使用POJO普通JAVA对象,不需要继承HIBERNATE的某个超类或者实现它的某个接口。相较于JDBC在大型应用程序开发中的软弱,以及无法分离持久层与业务逻辑层的劣势,HIBERNATE完美的把程序开发人员从繁琐的数据库表关系中解放了出来。开发人员只需要关注一个个的对象,不必担心数据表可能发生的问题

28、。5而且,HIBERNATE还拥有比JDBC更高效更稳定的数据交互性能。HIBERNATEWEB开发的一般步骤1创建数据库;2导入HIBERNATE所需的JAR包;3创建HIBERNATE配置文件;4创建实体对象和ORM映射文件;5创建HIBERNATE的SESSIONFACTORY类;6通过SESSINOFACTORY创建SESSION实例;7通过创建的SESSION实例进行持久化对象的管理;8通过创建的TRANSACTION实例进行事务管理;9通过创建的QUERY或CRITERIA实例实现数据库的查询6。在EGOBOOK中,HIBERNATE负责应用程序与数据库之间的数据交换,起到了ORM

29、中间件的作用。其体系结构如图32所示。图32ORM中间件的作用示意图35AJAX异步通信AJAX是一种创建快速动态网页的技术,它在后台与服务器进行少量数据交换,可、能够使网页实现异步更新。也就是说可以在不重新加载整个网页的情况下,对网页的局部分进行更新。而传统的网页如果需要更新内容,必需重载整个网络页面。通过AJAX,JAVASCRIPT可使用JAVASCRIPT的XMLHTTPREQUEST对象直接与服务器进行通信。通过这个对象,JAVASCRIPT可在不重载页面的情况同WEB服务器交换数据。AJAX在浏览器与WEB服务器之间会使用异步数据传输(HTTP请求),以便使网页从服务器请求少量的信

30、息,而不是整个页面。AJAX实质上是一种独立于WEB服务器软件的浏览器技术。在EGOBOOK中的会员注册、购物车等模块上,使用了AJAX异步通信技术,实现了页面数据的12局部修改刷新,对图书购买数量修改后产生的金额小计,总金额等局部页面数据做了局部刷新显示。在这里,它的处理流程是先定义数量文本事件处理函数MODINUM(ROWSELID,THISVALUE)之后再JS的MODINUM()方法中使用JSONRPC组件调用服务器的AJAXBEAN(INTID,INTNUMBER)方法7。36项目开发环境EGOBOOK的开发使用MYECLIPSE90开发工具,JDK版本160_22。服务器使用TOM

31、CAT708版本。数据库使用MYSQL558版本,还借助了第三方数据库查询操作软件WAMPSERVER21对数据库做建表,修改,浏览等设计操作。134系统详细设计41系统可扩展性设计降低系统耦合,提高代码重用率,为后期代码维护和扩展提供良好的着手点,都是面向对象编程的基本思想。在EGOBOOK的设计中,考虑到网上书城是网上商城的一种具体分类,如果在设计过程中多考虑代码的扩展空间,就可以方便的将网上书城扩展为网上商城。本系统在数据库设计和工程包结构设计过程中都尽量的考虑了系统的可扩展性问题,在系统中使用了通配常量类,消息资源文件配置方法8。411常量类CONSTANT设计在EGOBOOK中,所有

32、的消息KEY都以静态属性的形式存放进一个类CONSTANT。在程序运行过程中,如果有需要使用消息KEY则通过CONSTANT调用相关属性来实现。这样做的最大好处在于方便这些消息参数的维护管理,为代码扩展提供方便。CONSTANT类部分代码如关键代码41。关键代码41CONSTANT类部分代码/CONSTANT类部分代码/PACKAGECOMEGOBASEPUBLICCLASSCONSTANTSPUBLICSTATICSTRINGMEMBER_REGIST_SUCCESS“MEMBERREGISTSUCCESS“PUBLICSTATICSTRINGMEMBER_REGIST_FAIL“MEMBE

33、RREGISTFAIL“PUBLICSTATICSTRINGMEMBER_MODIFY_SUCCESS“MEMBERMODIFYSUCCESS“412资源文件设计资源文件APPLICATIONRESOURCESPROTERTIES在WEB开发中的一个重要用途是用于应用程序的国际化,但同时它也可以存放一些独立于系统业务逻辑之外的内容,如操作结果的提示,常用页面部分内容的记录等。某些情况下,如果设计合理,在系统需要扩展的时候,程序员往往只需要更改资源文件中的键值对就可以完成对整个系统操作主题的更改。在EGOBOOK中,由于图书也是商品的一种,所以在资源文件的设计中将如何通过修改资源文件达到将网上书

34、城变为网上商城也加入了考虑。分析可知,网上书城与网上商城在VIEW层的区别主要集中在页面标签和标注,程序中的操作结果提示上。所以资源文件的键值对主要是工程中的消息内容和页面文字,代码示例如关键代码42。关键代码42资源文件部分代码/资源文件部分代码/14ERRORSREQUIRED0U4E0DU80FDU4E3AU7A7AUFF01ERRORSMINLENGTH0U4E0DU80FDU5C0FU4E8E1U4E2AU5B57U7B26UFF01ERRORSMAXLENGTH0U4E0DU80FDU5927U4E8E1U4E2AU5B57U7B26UFF01ERRORSINVALID0U65E0

35、U6548U6570U636EU6216U64CDU4F5CUFF0142日志功能在EGOBOOK中,加入了日志记录的功能。通常的日志记录的保存有三种记录方法,分别是将系统日志保存于本地文本文档中,存于数据库中,或在控制台显示不做保存。在此,作为一个功能的演示,EGOBOOK选择了再控制台显示系统日志。EGOBOOK使用了JAVA的LOG4J组件实现它的日志功能。首先创建一个带日志功能的基类BASELOG(如关键代码43),继承自基类LOG4J的所有JAVABEAN都将享受来自父类的日志功能。再创建BASEACTION(如关键代码44)基类,简化其再STRUTSACTION中的应用,同样的,继

36、承自BASEACTION的所有ACTION类都将享有日志功能。关键代码43得到日志记录/得到日志记录/PUBLICCLASSBASELOG/PUBLICSTATICLOGGERLOGGERLOGGERGETLOGGERBASELOGCLASS关键代码44得到日志记录/得到日志记录/PUBLICCLASSBASEACTIONEXTENDSDISPATCHACTION/PUBLICSTATICLOGGERLOGGERLOGGERGETLOGGERBASEACTIONCLASS43顾客注册登录模块与目前已有的主流网上书城前台系统一样,EGOBOOK建立了会员系统,顾客只有在注册了会员,提交了个人基本

37、信息后才能完成购书活动,未注册的顾客则只能进行图书的浏览和检索活动。会员登录和注册在数据处理的流程上基本一样。首先顾客在WEB页面上填写基本信息表单,点击提交后交给ACTIONFORM,在这里系统会进行一次表单验证,这个功能主要由VALIDATOR或AJAX实现。当表单验证无误,ACTIONFORM通过STRUTS配置文件找到相应的DOACTION类,执行DO方法。DO方法实际上是上级接口的实现类,他通过接口进入持久化层,对数据进行增、删、改、查等基本操作,拿到请求的数据库数据后返回给DO方法。最后DO方法做重定向,把信息发给浏览器,浏览器向目标页面发出请求。431AJAX实现会员注册有效性验

38、证首先定义登陆账号输入框焦点失去的事件处理函数为CHECKLOGINNAME(),在此方法中会使用15JSONRPC组去调用AJAXBEAN下的CHKLOGINNAME(STRINGLOGINNAME)方法实现登陆的异步有效性验证。AJAXBEAN中的CHKLOGINNAME(STRINGLOGINNAME)方法如关键代码45所示。关键代码45账号有效性验证/账号有效性验证/PUBLICBOOLEANCHECKLOGINNAMESTRINGLOGINNAMETRYRESSERVICECHECKLOGINNAMELOGINNAMECATCHEXCEPTIONEXLOGGERINFO“在执行AJA

39、XBEANCHECKLOGINNAME()时出错N“EXPRINTSTACKTRACERETURNRES432STRUTS实现控制层用户注册表单填写完毕后,STRUTS会自动将注册页面REGJSP的内容封装到MEMBERFORM对象中。同时,STRUTS还会将表单数据提交至VALIDATOR进行有效性验证,如果验证失败,则继续回到REGJSP页面,并提示用户正确填写注册表单。相反的,如果验证成功,则将MEMBERFORM对象送交到MEMACTION中的REG方法。REG方法执行完毕会将请求到的信息带回REGJSP,重新显示。会员登录时,首先是在DEFAULTJSP中填写登陆表单,提交后STRU

40、TS会将表单内容自动封装在MEMLOGINFORM之中,同时交由VALIDATOR进行表单有效性验证。验验证失败返回原页面并提示输入正确信息。验证成功则将MEMLOGINFORM对象送至LOGINACTION下的LOGIN方法做处理,处理结束后将结果送至DEFAULTJSP,至此完成登陆操作910。展示层与控制层之间的数据传递是由相关的“FORMJAVA”文件来实现的。会员登录(MEMLOGINFORM)表单和会员注册(MEMBERFORM)表单的部分代码如关键代码46。关键代码46会员登录表单和会员注册表单的部分代码/会员登录表单/PUBLICCLASSMEMLOGINFORMEXTENDS

41、VALIDATORFORMPUBLICACTIONERRORSVALIDATEACTIONMAPPINGMAPPING,HTTPSERVLETREQUESTREQUESTPUBLICVOIDRESETACTIONMAPPINGMAPPING,HTTPSERVLETREQUESTREQUEST(SET/GET方法)16/会员注册表单/PUBLICCLASSMEMBERFORMEXTENDSVALIDATORFORMPUBLICACTIONERRORSVALIDATEACTIONMAPPINGMAPPING,HTTPSERVLETREQUESTREQUESTPUBLICVOIDRESETACTIO

42、NMAPPINGMAPPING,HTTPSERVLETREQUESTREQUEST/省略SET/GET方法客户用户注册和登录通过VALIDATOR进行表单数据有效性验证的部分规则代码如关键代码47。关键代码47VALIDATOR中客户用户注册和登录表单数据有效性验证规则配置/VALIDATOR中客户用户注册和登录表单数据有效性验证规则/其他内容在此省略最后一个关键步骤是服务器端的“ACTION”类对来自浏览器的页面请求的处理方法。这些方法都归类放在/SRC/COM/EGO/STRUTS/ACTION目录下。因为客户登录和注册请求的处理流程大致相似,在此只展示客户注册请求的部分代码,如关键代码4

43、8。关键代码48客户注册请求的部分代码/客户注册请求处理/PUBLICACTIONFORWARDREGACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETRYMEMSETMEMBERNAMEMEMBERFORMGETMEMBERNAMETRIM17IFMEMBERFORMGETEMAILNULLMEMSETEMAILMEMBERFORMGETEMAILTRIMBOOLEANSTATUSSERVICEADDMEMBERMEMIFSTATUSMSGSADD“ADDMEMS

44、TATUS“,NEWACTIONMESSAGECONSTANTSMEMBER_REGIST_SUCCESSELSEMSGSADD“ADDMEMSTATUS“,NEWACTIONMESSAGECONSTANTSMEMBER_REGIST_FAILSAVEERRORSREQUEST,MSGSCATCHEXCEPTIONEXLOGGERINFO“在执行MEMACTION类中的REG方法时出错N“EXPRINTSTACKTRACERETURNMAPPINGGETINPUTFORWARDSTRUTSCONFIGXML是整个系统中指引数据传递和页面跳转的关键所在,其中的配置信息包括ACTIONFORMBE

45、AN、全局转发关系、ACTION映射、消息资源文件路径、其他STRUTS插件路径等。在EGOBOOK中,需要加入STRUTSMENU、VALIDATOR两个插件。部分关键代码如49。关键代码49STRUTSMENU、VALIDATOR插件的配置/STRUTSMENU、VALIDATOR插件的配置/1844HIBERNATE实现数据持久层441HIBERNATE配置文件基本配置EGOBOOK中在数据持久层选择了HIBERNATE框架技术,在会员登录和注册会员模块中它负责处理会员与会员等级间的关联关系和数据访问的相关操作。使用HIBERNATE实现持久层操作最重要的环节就是理清数据表之间的关联关系

46、。在此模块中,会员和会员等级之间是多对一的关联关系,也就是说不同的会员可以有相同的会员级别。这样的多对一关系在HBMXML中的配置如关键代码410所示。相应的在MEMBER类的属性中也要有MEMBERLEVEL的属性和它的SET、GET方法。关键代码410MEMBER映射到MEMBERLEVEL的多对一单向关联关系442DAO接口设计实际上所有数据访问需要的接口的设计都可以用增、删、改、查四个操作来描述,在接口设计的时候只需要理解业务需求,使用四个基本操作中的一个或多个并确定好返回值类型即可。在EGOBOOK的会员登录和顾客注册模块设计了若干接口如关键代码411所示。客户注册接口的实现类关键代

47、码如关键代码412所示。关键代码411会员登录和顾客注册模块若干接口设计/会员登录和顾客注册模若干块接口/PUBLICBOOLEANADDMEMBERMEMBERMEMBERTHROWSEXCEPTIONPUBLICMEMBERMEMLOGINSTRINGLOGINNAME,STRINGLOGINPWDTHROWSEXCEPTION关键代码412新顾客注册会员接口实现/新顾客注册会员接口实现/19PUBLICBOOLEANADDMEMBERMEMBERMEMBERTHROWSEXCEPTIONTRYTXSESSIONBEGINTRANSACTIONSESSIONSAVEMEMBERTXCOMM

48、ITRESULTTRUECATCHEXCEPTIONEXIFTXNULLTXROLLBACKLOGGERINFO“在执行MEMSERVICEIMPLADDMEMBER()时出错N“EXPRINTSTACKTRACEFINALLYHIBERNATESESSIONFACTORYCLOSESESSIONRETURNRESULT45图书检索浏览模块图书浏览和检索是各种网上书城的核心功能,浏览可以给让顾客对某本或某类型图书有一个直观的认识,也是书城主动推销图书的有效手段。搜索功能则是书城提供给顾客的帮助顾客主动搜寻目标图书的工具,在推销的同时也方便了顾客。EGOBOOK中设计了较为完整的图书浏览功能和初

49、步的图书搜索功能,可以基本满足一般的购书顾客对图书的分类浏览,搜索浏览,书名关键字搜索等需求。EGOBOOK的搜索功能主要是基于数据库查询的通配符匹配,模糊查询技术。451图书浏览图书浏览页面分为特价图书浏览模块和新品浏览模块,需要查看更多本模块图书信息可以点击“更多”按钮进入模块浏览。在模块浏览中还加入了分页浏览,分页浏览关键代码如413所示。关键代码413分页实现452图书搜索EGOBOOK的图书搜索为顾客提供了图书分类搜索、图书名关键字搜索、特价图书搜索等主要功能。完成搜索功能的核心主要在于GQL语句的设计和拼接。以下是HQL语句的设计如关键代码414。关键代码414HQL语句的设计/HQL语句的设计与拼接/STRINGHQL1“SELECTCOUNTFROMBOOKASA“STRINGACTION“/FRONTSTAGE/BOOKDOMETHODSEARCHBOOKHQLHQL“WHEREACATEGORYID“CATEIDHQL1HQL1“WHEREACATEGORYID“CATEID

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。