梁若兰-网上购书系统业务模块的设计与实现本科论

上传人:沈*** 文档编号:130423223 上传时间:2022-08-04 格式:DOC 页数:37 大小:822.02KB
收藏 版权申诉 举报 下载
梁若兰-网上购书系统业务模块的设计与实现本科论_第1页
第1页 / 共37页
梁若兰-网上购书系统业务模块的设计与实现本科论_第2页
第2页 / 共37页
梁若兰-网上购书系统业务模块的设计与实现本科论_第3页
第3页 / 共37页
资源描述:

《梁若兰-网上购书系统业务模块的设计与实现本科论》由会员分享,可在线阅读,更多相关《梁若兰-网上购书系统业务模块的设计与实现本科论(37页珍藏版)》请在装配图网上搜索。

1、 学号_200532580358_ 密级_ 武汉大学本科毕业论文网上购书系统业务模块的设计与实现院(系)名 称:国际软件学院专 业 名 称 :软件工程学 生 姓 名 :梁若兰指 导 教 师 : 二九年五月BACHELORS DEGREE THESIS OF WUHAN UNIVERSITYThe Design and Implementation of Business Module inOnline Bookstore SystemCollege : International School of SoftwareSubject : Software EngineeringName : Li

2、ang RuolanDirected by : May 2009郑 重 声 明本人呈交的学位论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本学位论文的知识产权归属于培养单位。本人签名: 日期: 摘 要随着信息时代的到来,计算机网络已经深入到人们生活中的每一个领域,电子商务正以前所未有的速度迅猛发展。所谓电子商务,是利用现有的计算机硬件设备、软件和网络(包括因特网、内联网、局域网)等基础设施,在按一

3、定的协议连接起来的电子网络环境下,从事各种各样商务活动的方式。作为电子商务的一种形式,网络书店从其本质上来说具有很强的代表性和典型性。网上购书系统具有结构的完整性、事件的实时性、安全控制的严肃性等特点,而这些特点又恰恰是当前网络电子商务发展的根本目的和实现目标,而业务模块又是网上购书系统中最主要的模块之一。因此,本网上购书系统业务模块的设计和实现,是对当前电子商务的一次尝试和实践,对电子商务的实现有着切实的意义。针对当前蓬勃发展的电子商务浪潮,本文从理论和实践两个角度出发,对电子商务进行了深入的探讨。详细介绍了网上购书系统业务模块的用户需求、总体设计、详细设计及其实现,在实现部分重点讨论了购物

4、车子模块,页面分页显示和页面动态效果的设计与实现。关键词:电子商务;网上购书系统;设计与实现ABSTRACT With the coming of the Information Age, computer network has already been applied into every realm of peoples lives and e-commerce is developing swiftly at a high speed that has never been reached. What is “e-commerce” ? Generally speaking, it r

5、epresents all types of business actions based on electric-network environment which is composed of computers, hardware, software, and network infrastructure. As a form of e-commerce, the online bookstore is representative and typical in essence. It has some characteristics such as the integrality in

6、 structure, real-time in event and severity in safety control, which are also the goals and objectives of the developing of e-commerce. So the design and implementation of this online bookstore has a significance meaning for the exploring and practicing of e-commerce.Aiming at the current flourish t

7、ide of E-commerce, this article discusses e-commerce at length from the views of theory and practice. This article introduces the clients requirement, the general design, the detailed design and the implementation of the online bookstore system in details. In the part of implementation, the discuss

8、focuses on the design and implementation of the shopping cart, the display of the pagination, and the dynamic effect of the pages.Key words: E-commerce;Online Bookstore System;Design and Implementation目 录第1章绪论71.1 论文选题背景及意义71.1.1 论文研究背景71.1.2 论文研究意义81.2 研究现状及发展趋势91.3 论文结构101.4 本章小结10第2章 业务模块的方案设计112

9、.1 业务模块的设计目标122.2 业务模块各子模块的设计132.2.1 会员注册与登录142.2.2 账户管理162.2.3 订单管理162.2.4 购物车管理172.2.5 书籍评论182.3 本章小结19第3章 技术综述203.1 JSP动态网页制作203.1.1 JSP概述203.1.2 基于JSP的电子商务系统的体系结构213.2 Spring + Struts + Hibernate框架213.3 其他关键技术233.3.1 JDBC233.3.2 JavaBeans243.4 本章小结24第4章 业务模块的实现与验证254.1 业务模块的实现254.1.1 购物车模块的实现254

10、.1.2 书籍浏览分页显示功能的实现274.1.3 订单管理模块的实现294.2 业务模块的验证314.2.1 购物车模块的验证324.2.2 书籍浏览分页显示功能的验证324.2.3 订单管理模块的实现344.3 本章小结34第5章 总结35参考文献36致 谢37 第1章 绪论1.1 论文选题背景及意义1.1.1 论文研究背景电子商务这个概念起源于20世纪70年代。当时国际上一些大公司通过建立自己的计算机网络以实现各个机构之间、商业伙伴之间的信息共享,这个过程被称为EDI(电子数据交换)。EDI这种方式通过传递标准的数据流不仅可以避免人为的失误,而且能有效的降低成本、提高效率,因此在过去30

11、年中,世界1000个最大的企业中,有95%以上的使用或还在使用这一技术。现在大家公认的“电子商务”的概念是由著名的IBM公司于1998年率先提出并迅速得到广泛认同。它包括网络广告(过去已经实现)、在线电子贸易(已经实现并正在得到不断的完善)、在线电子服务(即将实现)等内容,可以说是一个较大的基础概念,涵孟了过去、现在和未来所有以电子形式实现的商业活动手段。随着时代的发展,计算机及网络产品、互联网技术(web技术)、完全支付等电子商务的支撑技术在电子商务应用的大潮中产生质的飞跃,电子商务的概念正在得到不断的补充和完善,它将不仅仅只局限于带动互联网经济的飞速发展,而是将深入到经济活动的每一个角落,

12、深入到千家万户,深入到每一个人的身边。电子商务提出了一种全新的商业机会、需求、规划和挑战,正是新世纪全球经济与社会发展的朝阳领域。图书是一种在整个社会生活中都很普及的精神消费品,在整个商品市场上占据不同于其它商品的特殊地位。基于J2EE的网上书店系统正是针对图书这样一类特殊的商品而建立起来的一个电子商务系统。如何迎合图书这种商品的特殊性,如何降低销售成本以及便利读者购书,便自然而然的成为这个系统设计和实现所追求的目标。近些年来,随着网络通信技术的不断发展和社会信息化建设水平的不断提高,电子商务系统在社会生活和经济生活中得到了越来越广泛的应用。电子商务大大改变了企业的经营方式,规范了内部流程和交

13、易手续,减少了交易的中间环节,降低了企业的经营成本;并使经营活动不再受地域和时间的限制,方便了客户,密切了企业和客户的关系。因此越来越多的企业采纳电子商务作为交易模式。随着互联网上的电子商务网站大量出现,电子商务作为一种交易形式已经在社会经济生活中占据一定的地位。另一方面,互联网技术的发展在推动电子商务进步的同时,也使电子商务系统的构建实现技术面临新的挑战。作为网络信息技术前沿的Java,已经是软件界的一个热门话题,它提供的跨平台性、网络和数据库支持为web应用系统的开发提供了新的途径。1995年,Sun公司的Java语言以其提供的跨平台应用程序开发与配置震撼了整个web世界。几年来,Java

14、从一种编程语言发展到了开发企业级应用系统的Java2平台。1999年Sun公司推出J2EE,它包括Severlets、JSP,和EJB等许多技术和规范。J2EE平台为web应用的开发提供了从客户层到web服务层到业务逻辑层的全方位技术支持,而且得到了IBM、BEA和ORACLE等很多公司的认可,是一种很有前途的也是比较成熟的开发web应用的技术选择方案。本文所述的图书网站系统正是以ZJEE技术和规范为基础,结合具体应用的电子商务系统。1.1.2 论文研究意义在信息技术飞速发展的今天, 电子商务己经成为我们现实生活中不可缺少的一个重要组成部分, 同时它以一种特殊的方式改变着我们的生活。根据调查结

15、果显示, 网民上网以获取信息为主要日的占53.1。目前我国上网购物的群体中, 绝大多数是年轻人, 24岁以下的学生目前所占的比例最高, 达到51, 其次是24-30岁的上班族, 占上网群体总数的40.3。这两类人群都是最有潜力的未来网上消费者。在这些用户中, 大多数为收入稳定、文化水平较高的中青年, 网上消费己经日益成为他们生活中的一种重要的消费方式。在美国, 网络购物的消费己经超过在传统商店里的消费。不久的将来, 随着信息化程度的提高和消费观念的改变, 我国网上消费将超过传统商店的消费, 尤其是图书的消费。因此我们有必要对网上书店系统的流程和功能认真研究和设计。 1.2 研究现状及发展趋势近

16、些年来,随着网络通信技术的不断发展和社会信息化建设水平的不断提高,电子商务系统在社会生活和经济生活中得到了越来越广泛的应用。电子商务大大改变了企业的经营方式,规范了内部流程和交易手续,减少了交易的中间环节,降低了企业的经营成本;并使经营活动不再受地域和时间的限制,方便了客户,密切了企业和客户的关系。因此越来越多的企业采纳电子商务作为交易模式。随着互联网上的电子商务网站大量出现,电子商务作为一种交易形式已经在社会经济生活中占据一定的地位。另一方面,互联网技术的发展在推动电子商务进步的同时,也使电子商务系统的构建实现技术面临新的挑战。作为网络信息技术前沿的Java,已经是软件界的一个热门话题,它提

17、供的跨平台性、网络和数据库支持为web应用系统的开发提供了新的途径。1995年,Sun公司的Java语言以其提供的跨平台应用程序开发与配置震撼了整个web世界。几年来,Java从一种编程语言发展到了开发企业级应用系统的Java2平台。1999年Sun公司推出J2EE,它包括Servlet、JSP,和EJB等许多技术和规范。J2EE平台为web应用的开发提供了从客户层到web服务层到业务逻辑层的全方位技术支持,而且得到了IBM、BEA和ORACLE等很多公司的认可,是一种很有前途的也是比较成熟的开发web应用的技术选择方案。随着时代的发展,计算机及网络产品、互联网技术(web技术)、完全支付等电

18、子商务的支撑技术在电子商务应用的大潮中产生质的飞跃,电子商务的概念正在得到不断的补充和完善,它将不仅仅只局限于带动互联网经济的飞速发展,而是将深入到经济活动的每一个角落,深入到千家万户,深入到每一个人的身边。电子商务提出了一种全新的商业机会、需求、规划和挑战,正是新世纪全球经济与社会发展的朝阳领域。而网络书店凭借其众多优势及发展潜力,必将得到前所未有的发展,成为未来图书交易的主导。1.3 论文结构本文全文共分为五个章节,其中各章节主要内容如下:第一章, 绪论。总体概括和介绍论文的选题背景、意义,研究现状和发展趋势,并给出论文的框架结构。第二章, 业务模块的方案设计。本论文围绕网上购书系统业务模

19、块的设计与实现展开,这一章主要介绍了业务模块设计的目标以及各个子系统的详细设计方案。按照用户需求来设计具体的功能,并结合流程图,用例图等详细说明和介绍各子模块的功能及使用。第三章, 技术综述。本章围绕网上购书系统实现过程中所用到的关键技术展开综述。包括JSP动态网页制作,Struts框架,Hibernate等技术的介绍。第四章, 业务模块的实现与验证。本章主要介绍了业务模块中几个重难点模块及功能的实现和验证。详细解释了设计思路及实现代码,及实现和验证过程中所遇问题的解决过程和最终实现方案。第五章, 总结。本章在最后对系统进行了评价,对自我在毕业论文项目中的工作进行了反顾和总结,并对全文进行总评

20、和展望。1.4 本章小结本章从总体上介绍了论文的选题背景,阐述了论文的选题意义,概括了网络书店系统的发展现状及趋势,从上文中不难看出,网上购书系统具有极大地发展潜力,也蕴含着无限的商机。当前虽然已存在的一些电子商务系统,但其功能或规模仍远远不能满足广大用户的需求,况且网络用户和消费者数量都在不断增长,由此可以看到的是,网上购书系统仍具有很大的发展空间。对网上购书系统的研究也具有极大的现实意义和实用价值。最后本章对全文的框架和结构做出了详细的介绍,有助于读者对全文章节的了解和便于阅读。第2章 业务模块的方案设计根据用户需求,网上购书系统主要包括三个大的模块,分别是:业务模块,管理员模块和系统模块

21、,本文主要分析的是业务模块的设计与实现。下图2.1是系统总体功能图。通过以下图可以清晰地看到整个系统的构架和功能结构。图2.1 系统总体功能图在整个系统中,本人所研究和完成的是业务模块的设计与实现,因此,本章主要介绍业务模块的设计。2.1 业务模块的设计目标依据系统需求说明书,以及对网络购书系统的调研,网上购书系统业务模块的设计目标主要有以下几点:1.实用性原则: 网上购书系统是一个非常实用的系统,因此其设计需要真正为网上书店的实际工作服务,按照需求来细致、合理地设计网上书店电子商务系统,使其真正做到方便用户,方便管理。2.可靠性原则: 网络系统的安全性一直都是备受关注的问题,对于网络购物系统

22、,安全性则是重中之重,因此本系统必须为商家及用户提供安全的服务,尤其是要保证从Internet上可以访问到的前台销售管理系统的安全。3.友好性原则: 作为一个经营书籍的网络销售系统,界面的友好及使用方便时吸引顾客的一大亮点,也是系统设计必须要重视的,更何况如今网络书店竞争也十分激烈,友好性原则更是保持竞争优势的重要商业策略,所以系统操作上要求简单方便,便于用户掌握。4.可扩展性原则: 计算机和网络的发展都是突飞猛进,许多新的技术和设计都如雨后春笋般层出不穷,并且随着时间的推移,系统的规模定会不断扩大。系统要跟上技术发展的步伐,保持其在规模扩大时各项功能的稳定,其可扩展性相当重要。因此本系统的设

23、计和实现应注意采用开放的标准和接口,便于系统向更大的规模和功能扩展。业务模块即为前台的销售系统,用户可以注册、登录、浏览商品、购买商品等。在设计网站时,应根据销售商品,即书籍的特点安排布局,在编程序时应充分考虑这一点,商品数据应根据需要能灵活的从数据库中挑出,照顾客户浏览习惯,简化购物流程,真正做到“简洁、高效、流畅”的购物环境。网上购物的过程为,当客户通过Internet访问书店的网站时,如果他要购买商品,那么必须先注册成为会员,然后再进行会员登录(确认身份),然后以把商品放入“购物车”,通过购物车完成会员的购物后,会员进行结账,生成网上订单。下图2.2为网上购书系统业务模块的用户流程图,可

24、以清晰看到用户使用流程。图2.2 用户使用流程图2.2 业务模块各子模块的设计通过对网上购书系统业务模块所有功能的分析,将业务模块分为以下的5个子模块:会员注册与登录,账户管理,订单管理,购物车管理,书籍评论。其中各子模块都有其相应的功能,如下图2.3所示。图2.3 业务模块详细功能划分以下各小节详细介绍了5个子模块的功能和设计。介绍顺序为先对该功能进行详细地描述,然后给出该功能模块的inputs和outputs的数据信息,最后以用例图的形式直观地描述某一功能。如下图2.4所示为业务模块的用户购买书籍用例图。图2.4 业务模块用户购买书籍用例图 会员注册与登录网上购书系统的用户分为普通用户和会

25、员用户两种,普通用户即没有注册的用户,只能浏览网页和书籍信息,而无法将书籍加入购物车,要在网站购买书籍,对书籍进行评论等都必须首先注册成为网站的会员。这样的设计有助于管理员对用户的管理。从系统总用例图(图2.2)中可以明显看出普通用户和会员用户的区别。会员注册与登录模块包含以下两个主要功能:(1) 会员注册任意Internet用户都能通过网址访问本网上购书系统,当其对本网站感兴趣或向购买图书时,便可注册成本站会员。会员注册通过点击网站homepage上的注册按钮进入注册页面,用户填写相关信息即可完成注册。l Inputs 输入字段名类型长度非空数据校验账户字符型20是有真实姓名字符型50是有性

26、别字符型2是有密码字符型10是有确认密码字符型10是有通讯地址字符型100否无邮政编码字符型6否无固定电话整型15否无手机号码整型20否无电子邮箱字符型20否无(2) 会员登陆已注册的会员通过homepage上的登录按钮,进入登录页面,正确填写用户名及密码便可成功登录网上购书系统,登录后便可实现购买书籍,查看账单,管理账户,发表或查看评论等等一系列功能业务。会员登录需身份验证,设置方便会员登录,采用验证码等相应的安全措施避免恶意猜解会员账户名及密码。l Inputs 输入字段名类型长度非空备注账户字符型20是主键密码字符型10是无验证码字符型长度要与系统生成的一致是无会员注册与登录用例图如下:

27、图2.5 会员注册与登录模块用例图 账户管理本模块为用户基本信息的自我更新和维护,通过本模块,用户可以填写或修改个人信息,如通信地址,邮编,邮箱,电话等,便于用户实时地更换信息。本功能通过登陆后点击页面上的账户管理按钮进入账户管理页面来实现。l Inputs 输入字段名类型长度非空数据校验账户字符型20是有真实姓名字符型50是有性别字符型2是有密码字符型10是有确认密码字符型10是有通讯地址字符型100否无邮政编码字符型6否无固定电话整型15否无手机号码整型20否无电子邮箱字符型20否无用户账户管理用例图如下:图2.6 账户管理用例图 订单管理本模块主要供会员查询或修改自己的订单,会员登陆后,

28、通过点击页面上的订单管理按钮进入订单管理页面,可以看到订单列表,其中包括:订单号,订单时间,订单状态等信息。点击订单号后的详细信息链接可以返回该订单的详细信息页面。l Inputs 输入无,此功能为查看模块,仅供会员查看其订单,用户不能修改或删除订单。用户订单管理用例图如下:图2.7 订单管理用例图2.2.4 购物车管理购物车模块是对现实情况的模拟,在真是购物环境中,顾客看到自己满意的书籍后会将其一一放入购物车中,最后在进行付款,当不想要某本书时也可将其拿出。网上购书系统的购物车模块也具有相同的功能。用户可方便地通过点击按钮将书籍加入购物车,从购物车中删除,或修改购物车的内容,并可随时查看购物

29、车内容。当用户查看购物车内容并最终确认后买后可点击确认按钮生成订单。并付款确认购买。此模块包括以下几个功能:(1) 加入购物车用户在浏览书籍时可将当前浏览的书籍加入购物车。点击加入购物车按钮即可实现。在购物车中,用户可以修改所购买的书籍的数量,输入数字,点击“修改”按钮后即修改成功,总价即随之修改。l Inputs 输入字段名类型长度非空备注购买数量数字型10是正整数(2) 查看购物车用户点击页面上的查看购物车按钮即进入购物车页面,此页面以列表的形式显示当前购物车的内容,表格内容如下表所示。l Outputs 输出字段名类型长度非空数据校验序号数字型10是无商品名称字符型50是无市场价数字型6

30、是无优惠价数字型6是无数量数字型10是无小计数字型10是无合计数字型10是无(3) 将书籍移出购物车用户进入购物车页面后,可以将不想要的书籍移出购物车,点击书籍后取消栏中的小叉即可实现书籍的移除。(4) 确认购买用户进入购物车页面后,如果确认购买,则可点击页面下方的“结账”按钮确认购买,此时生成订单,用户确认后即完成购买。购物车管理模块的用例图如下:图2.8 购物车管理用例图2.2.5 书籍评论用户的书籍的评论在网上购书系统业务中也具有重要的意义,对于用户不了解的书籍,其通过查看其他会员对书籍的评论,可以进一步了解书籍,然后再决定是否购买。而对于已经看过或了解的书籍,则可对其发表评论,使其他的

31、用户受益。书籍评论模块有以下两个功能:(1) 查看评论在homepage页面上用户选择书籍类别,然后点击书籍封面图片或书名则可进入书籍详细信息页面,此时页面下方便可以看到所有对该书籍的评论。(2) 发表评论会员登陆后可以对书籍发表评论,在书籍详细信息页面下方,有评论框,用户输入评论内容,然后点击确认发表的按钮,则评论发表成功。l Inputs 输入字段名类型长度非空备注评论内容字符型100是无书籍评论模块的用例图如下:图2.9 书籍评论用例图2.3 本章小结在对任何系统进行设计之前,都应有明确的设计目标。本章第1节结合用户需求及对电子商务网上购书系统业务的分析,提出了系统的设计目标,为整个系统

32、设计的展开奠定了基础。接下来便是详细设计部分,本章第2节结合用例图详细介绍了业务模块5个子模块(会员注册与登录、账户管理、订单管理、购物车管理、书籍评论)的设计,详细解释了各子模块的全部功能细节。本章节的目的在于将整个系统清晰地展现出来。第3章 技术综述3.1 JSP动态网页制作在整个小组项目的设计和实现的过程中,本人主要负责的是网上购书系统业务模块的JSP页面制作,因此本章的主要内容是围绕JSP动态网页技术,同时也简单地描述了其他关键技术及项目框架等。 JSP概述JSP(Java Server Pages)是由 Sun,Microsoft 公司倡导,多家公司参与建立的一种动态网页技术标准,其

33、设计目的是使构造基于Web 的应用程序更加容易和快捷,由于JSP 实现了Web 动态内容与显示的分离,脱离了硬件平台的束缚,并且编译后大大提高了运行速度,因此,JSP正逐渐成为Internet上主流的Web应用开发技术。在传统的网页HTML 文件(*.htm, *.html)中加入Java程序片段(Script)和JSP标记(tag) ,就构成了JSP网页( *.jsp )。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML 格式返回给用户。程序片段可以操作数据库、重新定向网页以及发送E-mail等。JSP基于强大的Java语言,具有良好的伸缩性,在网络

34、数据库应用开发领域具有得天独厚的优势,而且它在多方面加速了动态Web页面的开发,譬如,将内容的生成和显示进行分离;强调可重用的、跨平台的组件来执行应用程序所要求的更为复杂的处理;采用标识简化页面开发;拥有Java语言“一次编写,各处运行”的特点等。3.1.2 基于JSP的电子商务系统的体系结构在电子商务和网络应用快速发展的世界,开发和管理一个电子商务系统将面临着巨大的挑战。利用先进的Java 技术:JSP 、JavaServlets 和JavaBeans ,能高效地解决前端信息安全以及后台大量数据接口等一系列大型商业网站所面临的问题。JSP 作为其中构建动态网站的主流技术,正展现着其巨大的魅力

35、。基于JSP的电子商务系统的体系结构采用分层架构,包括客户端、应用逻辑和数据服务三层。客户端主要包括 HTML,Applet 和客户应用程序。客户端通过浏览器向服务器发送它的请求,Web 服务器识别出浏览器请求URL 中的.jsp 扩展文件名,就会自动调用JSP 引擎行处理。Web服务器处理完用户请求后,把结果解释成浏览器识别的 HTML 语言,传送给客户端。一个完整的Web 应用程序服务器基本上是由三个层次构成的:Web 服务器、Servlet 引擎和JSP 引擎。当 Web 应用程序服务器第一次接收到对一个JSP页面的请求时,JSP 引擎就把这个页面的源代码编译成一个Servlet。由一个

36、 HTML 页面和嵌入其中的Java 命令一起组成的一个 JSP 页面,基本上是要转换成一个Servlet 类。无论什么时候如果JSP 页面发生了变化,这个过程都要再执行一次。然后由 Servlet 引擎执行这个临时的Servlet,来创建响应消息,这个消息就是最终要返回给客户的信息。数据服务包括数据库服务器、Java 应用程序以及可使用CORBA 的应用程序等。数据服务通过相关的接口被应用程序逻辑直接调用,为客户请求提供数据支持。3.2 Spring + Struts + Hibernate框架一个成功的电子商务网站的构建不仅需要考虑到如何高效快捷的实现系统功能,还要本着可扩展的原则,在一定

37、时期内适应技术发展与功能扩充的需求,同时要给用户提供方便、实用的信息服务,使网站的商务功能最大化。为了实现上述目标,我们考虑采用J2EE的体系结构,以及Spring + Struts + Hibernate框架结合的方式来开发应用系统。如下图3.1所示。由于本人在项目中所主要负责的任务是业务模块的JSP动态页面的设计与实现,这里仅对项目框架进行简单的描述和介绍。Struts(MVC框架)WEB层页 面 .jsp用户请求处理组件控制器用户控制器页面数据封装对象业务层业务接口业务实现数据访问层Hibernate数据读取接口数据读取实现SPRINg文件配置图3.1 系统框架Spring框架Sprin

38、g 是一个开源框架,专门用户解决复杂的企业应用程序开发,框架的主要优势之一就是其分层架构,分层架构允许定制使用相关的组件服务,为 J2EE 应用程序开发提供集成的框架。Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境,支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象,对象可以在不同 J2EE 环境 (Web 或 EJB)、独立应用程序、测试环境之间重用。Struts框架Struts是Apache基金会的一个Open Source项目,基于Sun J2EE平台的MVC框架,主要采用Servlet和JSP技术来实现,能够很好地帮助Java开发者利

39、用J2EE开发Web应用,也是面向对象设计。实现重点在C(Controller),包括Action Servlet/Request Processor和我们定制的Action,也为V(View) 提供了一系列定制标签(Custom Tag)。Hibernate框架Hibernate是一种Java语言下的对象关系映射解决方案。 它是使用GNU宽通用公共许可证发行的自由、开源的软件。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。它的设计目标是将软件开发人员从大量相同的数据持久层相关编程工作中解放出来。无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采用Hibe

40、rnate。Hibernate不仅负责从Java类到数据库表的映射(还包括从Java数据类型到SQL数据类型的映射),还提供了面向对象的数据查询检索机制,从而极大地缩短的手动处理SQL和JDBC上的开发时间。3.3 其他关键技术3.3.1 JDBC数据库连接对电子商务系统来说是最为重要的部分,Java 中连接数据库的技术是JDBC(Java Database Connectivity)。很多数据库系统带有JDBC 驱动程序,Java 程序就是通过JDBC 驱动程序与数据库相连,执行查询、提取数据等操作。JDBC 大致被分为三个部分,即JDBC API,JDBC 驱动程序管理器和JDBC驱动程序

41、。JDBC API 通过Java.sql 包来提供。在JDBCAPI上只设计为利用数据库而提供的类的接口,而这个接口是由提供JDBC 驱动的软件商来实际完成的。JDBC 驱动管理器的作用是在JDBC 运行结构上,提供最基础的指引功能。即当一个JDBC API程序进行数据库调用时,它会选择一个正确的JDBC 驱动程序进行连接。JDBC 驱动的作用是当JDBC API 制作的程序进行数据调用时,实际连接数据库并进行相应的处理。JDBC 驱动提供JDBCAPI的接口类。3.3.2 JavaBeansJSP程序并不直接访问数据库, 而是通过JavaBean中间件来访问数据库。JavaBeans是一种J

42、ava类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象。它可以直接被JSP 页面或Servlet 调用,是JSP 扩展 Web 功能最强有力的一个方面。数据库访问中间件用于封装常用的数据库, 完成数据库连接、打开和关闭, 执行查询、插入、更新和删除等操作。将这些复杂的操作全部封装在JavaBean中, 可以简化编程。3.4 本章小结本章介绍了我们网上购书系统的设计和实现中所运用到的主要技术,包括Struts、JSP、JDBC、JavaBeans等,其中又以本人主要负责的JSP动态网页制作技术为主要描述对象,通过对这些技术的学习和运用,使得我们的网上购书系统得以更好地实现。第4章 业

43、务模块的实现与验证业务模块的功能众多,本章就几个重难点功能的实现和验证做了详细介绍。即论文主攻方向中提到的购物车模块,书籍浏览分页显示和订单管理模块这几个部分。4.1 业务模块的实现4.1.1 购物车模块的实现购物车作为网上购书系统的主要功能,其实现涉及多个JSP文件及java类文件。其文件关系图如下:图4.1 购物车模块文件关系图以下为各个子功能的实现过程及实现代码:l 增加书籍到购物车:public ActionForward add(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServlet

44、Response response)throws Exception BookForm bf = (BookForm)form; HttpSession session = request.getSession();Object o = session.getAttribute(cart);Cart cart = null;if (o = null) cart = new Cart(); else cart = (Cart) o;int id = Integer.parseInt(request.getParameter(id); bf.setBookId(id);System.out.pri

45、ntln(id);cart.addBooks(id);session.setAttribute(accepter,请输入收货人姓名);session.setAttribute(phone,请输入收货人电话);session.setAttribute(address,请输入收货地址);session.setAttribute(cart, cart);return mapping.findForward(Add.success);l JSP页面代码,运用类似下一小节的分页显示。$sta.index+1 $book.bookName ¥ 4.1.2 书籍浏览分页显示功能的实现书籍浏览的页面基于美观设

46、计成每页显示3行4列共12个相关类别的图书封面图片。其中关于分页显示的要求,其实现的文件关系图如下:图4.2 书籍管理文件关系图上图中各文件作用如下:1)ViewAllBook.java: 接受主页书籍浏览信息,根据用户输入的类别信息显示出该类别的全部书籍2)BookDAO.java: 数据库根据输入类别信息,查询出相应书籍信息,返回给ViewAllBookAction.java3)Index.jsp: 主页显示4)infoAction.java: 根据输入BookID,查找出书籍的详细信息5)Book_list.jsp: 显示分类书籍6)Book_info.jsp: 显示书籍详细信息l vi

47、ewAllBookAction.java文件的实现代码如下:bookall = bookdao.findBookByCateID(new Integer(2563);int countall = bookall.size();System.out.println(countall + countall);uball.setCountall(countall);System.out.println(countall + uball.getCountall();List results = new ArrayList();Integer i = 0;if (indexall * 12 counta

48、ll) for (int a = (indexall - 1) * 12; a indexall * 12; a+) results.add(i, bookall.get(a);i+; else for (int a = (indexall - 1) * 12; a countall; a+) results.add(i, bookall.get(a);i+;request.setAttribute(uball, uball);request.setAttribute(bookall, results);其中利用bookdao.findBookByCateID方法获得一个有关所有书籍的List

49、,再把这些内容加入到result List中,Indexall属性是控制页面数,第2页就是从数组Indexall*12(每页显示12本书)开始读取。l JSP页面代码如下: $books.bookName 售价:$books.price 订单管理模块的实现订单管理模块的文件关系图如下:图4.3 订单管理模块文件关系图购书的最后一步订单的提交和查看,用户在购书的最后一步是将订单提交给数据库,并可以查看自己的订单呢信息。实现OrderAction代码如下public class OrderAction extends Action Overridepublic ActionForward exec

50、ute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception HttpSession session = request.getSession();Object o = session.getAttribute(cart);Cart cart = (Cart) o;OrderForm of = (OrderForm) form;Date date = new Date();User user = new User();Boo

51、kDAO bookdao = new BookDAO();CreateID cID = new CreateID();/ int id = Integer.parseInt(request.getParameter(customer_id);/ System.out.println(id);CreateID orderID = new CreateID();Integer orderid = new Integer(orderID.createNineID();Float totalPrice = Float.parseFloat(request.getParameter(totalprice

52、);Integer phone = new Integer(request.getParameter(tel);Orderinfor orderinfo = new Orderinfor();Integer deliverDay = new Integer(1);Integer isPay = new Integer(1);String address = request.getParameter(address);String accepter = request.getParameter(memberName);System.out.println(totalPrice);Orderinf

53、orDAO orderdao = new OrderinforDAO();List carts = cart.getList();Integer i = 0;List details = new ArrayList();for (i = 0; i carts.size(); i+) Book books = (Book) carts.get(i);Integer bookid = books.getBookId();Book book = bookdao.getBookbyBookID(bookid);OrderDetail detail1 = new OrderDetail();detail

54、1.setDetailId(new Integer(cID.createNineID();detail1.setBook(book);detail1.setBookNum(book.getBookNum();detail1.setPurchaseDiscount(float) book.getDiscount();detail1.setPurchasePrice(book.getPrice();detail1.setOrderinfor(orderinfo);details.add(i, detail1);System.out.println(bookId + books.getBookId(

55、);Integer userid = Integer.parseInt(request.getParameter(customer_id);System.out.println(userId + userid);user.setUserId(userid);orderinfo.setUser(user);orderinfo.setAddress(address);orderinfo.setDeliverDay(deliverDay);orderinfo.setPhone(phone);orderinfo.setOrderId(orderid);orderinfo.setIsPay(isPay);orderinfo.setAddress(address);orderinfo.setAccepter(accepter);orderinfo.setPostcode(new Integer(222);orderinfo.setOrderSum(totalPrice);orderinfo.setOrderSta

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!