毕业设计论文网上购书系统的开发

上传人:无*** 文档编号:146512933 上传时间:2022-08-31 格式:DOC 页数:26 大小:975KB
收藏 版权申诉 举报 下载
毕业设计论文网上购书系统的开发_第1页
第1页 / 共26页
毕业设计论文网上购书系统的开发_第2页
第2页 / 共26页
毕业设计论文网上购书系统的开发_第3页
第3页 / 共26页
资源描述:

《毕业设计论文网上购书系统的开发》由会员分享,可在线阅读,更多相关《毕业设计论文网上购书系统的开发(26页珍藏版)》请在装配图网上搜索。

1、科学技术学院NANCHANG UNIVERSITY COLLEGE OFSCIENCE AND TECHNOLOGY学 士 学 位 论 文(20082012年)题 目: 网上购书系统的开发 学 科 部: 信息学科部 专 业: 软件工程 班 级: 2008 级 (2) 班 学 号: 学生姓名: 指导教师: 摘 要随着网络信息技术的迅猛发展和人们购物观念的改变,电子商务得到了快速的发展。无论是企业还是个人都认识到电子商务重要性。电子商务已经成为一种新的销售渠道,它是提高企业和商家核心竞争力的重要途径。它为企业与企业、企业和客户创造了更高效便捷的交易方式。目前不仅有大型 B2B 网站,还有大型的 B

2、2C 交易平台,而且各企业也都在探索自己的电子商务之路。电子商务给金融业、物流业、网络和信息技术等领域提出了新的挑战,也对经济发展提供了新的思路,它必将成为促进经济发展又一新的动力。电子商务作为一种新的商贸方式,它涉及到网络信息技术、电子金融技术、物流活动以及信息安全等等诸多方面。本文主要研究了电子商务现状与发展以及B2C 网上购物平台设计与构建。从软件架构和需求角度,涉及到软件系统模型的设计、UML 建模、系统的需求分析和主要功能的实现。本文详细的介绍了各种 Java EE 技术的最佳实践以及设计模式的应用。表现层介绍了请求处理流程、视图表现和数据验证;业务逻辑层介绍了业务逻辑模型的构建以及

3、 Spring 的应用;数据持久层介绍了数据持久层的结构和实现技术。关键词:电子商务,网上购物,Java EE,表示层,业务逻辑层,数据持久层ABSTRACTE-commerce developed rapidly along with the rapid growth of network information technology and the change of peoples opinions about buying over the Internet. Both businesses and individuals realized the importance of e-co

4、mmerce. It has become a new channel of distribution and is an important means of improving the core-competitiveness of the enterprises and businesses. It is efficient and convenient way of doing business for the enterprises and customers.There are not only large B2Bweb sites but also large B2C sales

5、 platforms and the companies are exploring their way of the e-commerce. The finance industry, logistic industry, network and information technology are faced a new challenge of e-commerce which gave a new ideas for economic progress and will give fresh impetus to development.As a new way of doing bu

6、siness, e-commerce involves the network technology, banking electronics, logistic and information security, etc. The attention of this thesis is concentrated on the current stage and development and the construction of the B2C platform. From a perspective of software architecture and requirement, it

7、 involes the design of software system, UML modeling, requirements analysis of this system andimplementation of main function.This thesis relates best practices of Java EE and application of design patterns in details. In the presentation layer, it introduces request processing workflow, view presen

8、tation and data validation; in the business logic layer, it introduces constuction of business logic model and the spring applicaton; in the persistent layer, it introduces the structure of it and its implementation technology. Key Words:E-commerce, Online Shopping, Java EE, Presentation layer, Busi

9、ness layer, Persistent layer 第一章 绪论1.1 论文研究概况1.1.1 网上购物系统产生的研究背景 近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。网上购物系统作为B2B,B2C(Business to Customer,即企业对消费者),C2C(Customer to Customer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。本文主要考虑的是如何建设B2C的网上购物系统。网

10、上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。1.1.2 国内外研究现状 近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。在美、日等信息

11、化程度较高的国家和地区,网络商店发展速度迅猛,美国的世界级超一流的零售商,如沃尔玛、凯玛特、家庭仓储、科罗格、J.C培尼等纷纷跻身于网络经商的行列。调查表明:美国的家庭己越来越习惯于在家中从网上购物。在我国,网上购物系统从无到有也不过短短几年时间。我国第一宗网上购物发生在1998年,燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支付不是在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。网上购物直到1999年才被人们认可,随着网络的普及,以及拥有13亿人的消费大国,一些风险投资商纷纷争夺中国的网上购物市场,比如当当网、易趣网、8848等,中国网上购物正处于起步阶段。截止到2000年

12、3月底,中国的购物网站近800家,其中近1/3有传统零售业务,2/3则为纯粹的网上商店,这显示了中国的传统零售业对于利用互联网开拓业务还不甚积极,目前从事电子商务的以新兴企业居多。1.2 关于电子商务随着因特网的迅速发展,利用计算机技术、网络技术和远程通信技术,实现了电子商务(Electronic Commerce)的整个商务(买卖)过程中的电子化、数字化和网络化,使电子商务越来越流行。在电子商务网站构建过程中,B/S应用满足网络化的需求,已取代传统的C/S应用。采用基于J2EE/EJB技术的B/S开发可以突破传统B/S开发中要求开发人员掌握多种语言及网络架构知识,开发出的B/S应用突破单页方

13、式浏览、用户界面不够丰富而且很难开发一些对交互性要求高的应用等的局限,为电子商务发展提供广阔的发展空间。1.2.1 电子商务的概念电子商务源于英文Electronic Commerce( EC),其内容包含两个方面,一是电子方式,二是商贸活动。电子商务指的是利用简单、快捷、低成本的电子通讯方式,买卖双方不谋面地进行各种商贸活动。随着Internet技术的日益成熟,电子商务真正的发展将是建立在Internet技术上开展的各类商务活动。从贸易活动的角度来看,最完整的电子商务是利用Internet进行全部的贸易活动,即在网上将信息流、商流、资金流和部分的物流完整地实现。电子商务从寻找客户开始,到商务

14、洽谈、商品订单、网上展示、网上结算(开据电子发票以至到电子报关、电子纳税等),可以使远在全球不同地方的人通过网络进行电子交易。电子商务具有低成本、效率高、速度快的特点,随着国内互联网络的普及,网络已不仅仅限于提供电子邮件和新闻信息服务,网络已经越来越多地影响着零售业的发展。电子商务是随着电子技术和Internet的发展,信息技术作为工具被引入到商贸活动中而产生的,通俗的说,电子商务就是在计算机网络(主要指Internet网络)的平台上,按照一定的标准开展的商务活动。当企业将他的主要业务通过内联网(Intranet)、外联网(Extranet)以及Internet与企业的职工、客户、供销商以及合

15、作伙伴直接相连时,其中发生的各种活动就是电子商务,电子商务是利用电子技术为主要手段来开展商业业务的活动。当然,目前存在着许多对电子商务不同的解释和看法,如国际商会给出的定义是,电子商务指对整个贸易活动实现电子化;欧洲议会定义电子商务为,通过电子方式进行的商务活动。另外,许多IT行业的公司也根据自己的技术特点给出了不同的电子商务定义。如:HP公司定义电子商务为:通过电子化手段来完成商业贸易活动的一种方式,电子商务使我们能够以电子交易为手段完成物品和服务等的交换、是商家和客户之间的联系纽带;IBM公司认为电子业务包括:企业内部网、企业外部网和电子商务,它强调的是在网络计算环境下,把买方、卖方、厂商

16、及其合作伙伴在因特网(Internet)、企业内部网(Intranet)和企业外部网(Extranet)结合起来的商业化应用。无论怎样的定义,在广义上,电子商务突出各参与角色是通过电子的方式来完成的企业各种业务的交易,而不是直接物理交换的形式,泛指企业利用电子技术的手段进行各种各样商务的实施、运作以及管理的整个活动过程。而从狭义上来看,电子商务就是通过互联网进行的交易活动。由于企业的业务涉及范围较广,并且考虑到作为电子商务运营的重要媒体-计算机网络的迅速普及与飞速发展,因而,在本文中将凡是通过计算机网络(Intranet,Extranet与Interrnet)进行的一切企业业务活动均认为是电子

17、商务。1.2.2 电子商务的基本模式针对电子商务的主要参与对象,它可分为商业机构对商业机构的电子商(B2B)、商业机构对消费者的电子商务(B2C),商业机构对行政机构(B2A),消费者对行政机构的电子商务(C2A) 等多种形式。也就是根据交易双方的关系和角色,电子商务可以分为以下几类:1、企业对个人的电子商务(B2C)企业对个人的电子商务是人们最熟悉的一种商务类型,以至于人们错误地认为电子商务就只有这样一种模式。事实上,这缩小了电子商务的范围,错误地将电子商务与网上购物等同起来。近年来,随着Internet技术的兴起,出现了大量的网上商店,由于Internet提供了双向的交互通信,网上购物不仅

18、成为了可能,而且成为了热门。由于这种模式节省了客户和企业双方的时间、空间,大大提高了交易效率,节省了各类不必要的开支,因而,这类模式得到了人们的认同,获得了迅速的发展。本文要研究的网上购物系统就属于此类。2、企业对企业电子商务(B2B)在电子商务中,公司可以用电子形式将关键的商务处理过程连接起来,以形成虚拟企业。在这种环境中,很难区分哪家公司正在进行商务活动。一家公司在一台PC机或移动式电脑上按下一个键就有可能影响一家处于地球另一端的供货公司的业务活动。尽管眼下网上企业直接面向客户(B2C)的销售方式发展势头强劲,但为数众多的分析家认为企业间的商务活动更具潜力。3、个人对个人的电子商务(C2C

19、)5个人对个人的电子商务是一种比较特殊的电子商务,是指不同的个人通过互连网实现商务过程,典型的商务活动包括网上拍卖等。4、企业内部的电子商务企业内部网(Intranet)是一种有效的商务工具,它可以用来自动处理商务操作及工作流,增加对重要系统和关键数据的存取,共享经验,共同解决客户问题,并保持组织间的联系。一个行之有效的企业内部网可以带来如下好处:增加商务活动处理的敏捷性,对市场状况能更快地做出反应,能更好地为客户提供服务。1.2.3 我国电子商务的发展现状1997 年全球电子商务销售额为 26 亿美元,到 1998 年就达到了 430 亿美元,到 2000 年达到 3000 亿美元,2003

20、 年达到了 3.88 万亿美元,2004 年为 7 万亿美元。在我国,电子商务最近几年发展迅猛,中国互联网络信息中心发布的第十六次中国互联网络发展状况统计报告显示,截至目前我国上网用户总数已突破 1亿。据互联网研究系列报告电子商务显示,中国电子商务的交易总额在 2004年已达到 4400 亿元人民币,2005 年激增至 6200 亿人民币,平均年增长率达到 40%。今年以来,网上购物大军已突破 2000 万人。1.3 论文研究的目标及意义 1.3.1 论文研究内容 根据各类网络购物系统的主要工作与任务开发一种能够实现用户管理,商品列表,商品评论,购物车以及订单等基本模块。例如如何实现用户的注册

21、.登录,分页浏览显示,购买商品,生成订单.查询订单等功能。 1.3.2 论文研究目标 本平台利用Java、Jsp、JavaScript、Ajax、Struts、Hibernate技术和mysql数据库的架构实现的,进行系统的分析,从用户的角度去思考,怎么实现足不出户就可以买到所有的商品。从而实现信息化,规范化,系统化,网络化的平台,具有较好的适应性和推广性。通过本系统,用户可以完成队商品的浏览、购买、添加购物车和下订单处理等功能。采用了多层开发的思想。JSP作为界面的主要实现技术。Struts2用来进行与客户进行交互,收集用户数据,执行业务流程。同时还使用Ajax使用户得到良好体验。Hiber

22、nate作为持久层的方案,完成对数据库的访问。 1.3.3 论文研究意义 21世纪是信息化的社会,互联网实现了世界范围的网络间的互联和信息共享,并已全面介入人类生产生活的方方面面,带动着人类社会的飞速发展。企业产品的推销、企业形象的树立、企业文化的宣传,都靠着企业网站给着人们的头脑里的第一印象。网站做的好,企业自然受人们关注、受人们青睐;如果网站做的不好,企业的效益自然就会受到影响。企业网站的规划与建设将是一个长久且受人关注的课题,人们将沿着这条研究网站建设的路越走越精彩。 第二章 相关技术综述2.1 开发平台简介 目前的开发平台和技术发展很快。由于系统的要求和运行环境差别很大,各种开发平台和

23、工具都有各自的优点和不足。主要开发平台主要有以下两类:(1)基于关系数据库的Client/Server(客户机/服务器)系统目前后台数据库产品很丰富,性能也越来越高,在各种硬件平台和操作系统上都有很好的关系数据库产品,如 Microsoft SQL Server、Oracle等。开发工具有Microsoft的 Visual Studio系列;Borland的Delphi、C+Builder等。这类开发平台的优点是数据库和开发工具选择自由度较大,可以根据需求进行选择,数据处理能力强,访问速度快。但是,在C/S结构中,完成不同的应用、提供不同功能的服务器往往具有不同的软件,而且每套软件是一个客户端

24、、一个服务器成对的。开发人员需要同时开发用户前端软件和后台软件,开发难度大,周期长。每个用户都需要在本地机器上安装客户端软件,成本高、维护困难、对客户端硬件环境有一定要求。而且,客户端软件一般都是编译后的可执行文件,功能扩展性差,跨平台性差、升级困难。因此这种平台具有C/S模式开发工作量大、难度高,维护、升级困难,跨平台性、扩展性差等缺点,特别是在扩展为Intranet/Internet结构时难度较大,很难与Web应用集成。(2)基于关系数据库的Browser/Server(浏览器/服务器)系统这是目前发展最快的开发平台。优点是与Intranet/Internet有着天然的联系,非常适合信息的

25、查询和组织,界面可以设计得友好、美观,开发难度、维护成本低,可扩展性、跨平台性好,升级方便,使用方便快捷。在B/S模式中,绝大部分应用程序和数据都在服务器端,客户端只需要一个浏览器软件,用户在各种硬件平台和操作系统下都可以使用。如果服务器和Internet连接,用户在任何可以上网的地方都可以使用。开发人员可以将注意力集中在服务器端,扩展功能或者系统升级只需要在服务器端进行操作,十分灵活。在编程语言上有两大类:一是使用脚本语言,如ASP、PHP、JSP等。特点是使用非常简单,使用简单的文本编辑软件如Windows的记事本就能进行开发,开发平台成本很低。但是这类语言运行效率低,对服务器要求较高。二

26、是可编译型语言,主要是SUN公司的Java和Microsoft的.NET。Java目前已经有很丰富的产品,开发平台成本低,如SUN公司的Java2SDK是免费的,尤其是J2EE(Java2 Platform Enterprise Edition)是优秀、使用广泛的开发环境。目前基于JavaBean的Spring为开发者提供了一个新的快速简便的开发框架,成为当今发展最快的开发模式。2.2 J2EE概述 J2EE(Java2 Platform Enterprise Edition)是SUN公司定义的一个开放式企业级应用的规范,利用Java2平台简化企业解决方案的开发、部署和管理相关复杂问题的体系结

27、构。它提供了一个多层次的分布式应用模型和一系列开发技术规范。多层次分布式应用模型是根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行(如Servlet组件在Servlet容器中运行,EJB组件在EJB容器上运行),容器间通过相关的协议进行通讯,实现组件间的相互调用。遵从这个规范的开发者将得到行业的广泛支持,能够快速的构建平台独立、可移植、可伸缩、多用户、安全的企业级应用程序。J2EE具有“编写一次、随处运行”的特性,方便访问数据库的 JDBC API、CORBA技术,以及能够在Internet应用中保护数据的安全模式等特点,同时还提供了对EJB、

28、Java Servlets API、JSP及XML技术的全面支持。此外,J2EE技术综合提供了对象生存周期控制、事务处理、状态维护、并发控制、安全检测、资源共享等系统级服务。J2EE为如何搭建企业级应用构造了一个基础框架,并提供了众多的服务以解决任何企业级应用都可能碰到的问题,这使得基于J2EE的企业级应用的开发难度大大降低,并且天然就具有了良好的可扩展性和可维护性。2.3 Struts2框架简介Struts2开源框架是MVC模式的一项优秀实现。在软件设计中,MVC模式的作用域是整个软件系统,但对于大型软件设计而言,模型是软件系统运作的核心部件,其复杂的业务逻辑与灵活多变的结构较难形成统一的框

29、架。因此,Struts着重考虑的是MVC中的视图和控制部分,其主要作用域就在于系统的表示层面,对页面显示及页面之间的流转进行控制。2.4 Hibernate技术简介 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个

30、,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。 第三章 需求分析3.1系统开发的目标设计完成的系统包括用户管理、购物车管理、商品展示、订单管理四个模块,并能够实现用户注册登录,分类浏览商品,商品购买,购物车物品的添加、删除、恢复、数量更改,生成订单等。 3.2 需求调研分析系统分析员通过用户初步了解需求、定义功能模块、初步定义好少量的界面,然后深入了解和分析需求,书写系统的功能需求文档,最后再次和用户确认需求。3.3 可行

31、性研究 3.3.1 技术可行性 服务器采用以下几种软件的组合:MyEclipse+Tomcat+Mysql。这是很多成功网站所采用的明星组合,保证了整个系统的课扩展性和快速的运行。而我本人作为整个系统的设计者和开发者,对这几种软件有较好的把握。并能进行比较深层次的应用,在技术上已经不存在问题。因此具备了技术可行性3.3.2经济可行性 Tomcat+Mysql组合它操作简单是其成功最主要的方面。但是,还有非常重要的一点事因为他们是免费的。本系统的采用Tomcat+Mysql组合,在保证了系统的技术可行性的同时,还保证了系统的经济可行性。自由软件较低了开发系统的初始成本,因此具备了经济可行性 第四

32、章 系统设计4.1系统功能设计 4.1.1 功能结构4.1.2功能描述网上售书系统,包括交易系统和管理系统两个独立的子系统,主要包括:商品展示、购物车管理、我的订单、用户管理 交易系统功能描述1) 商品展示:实现商品预览、商品明细。2) 购物车:实现添加商品、删除列表、恢复列表、数量修改、结算功能。3) 我的订单:实现订单确认、订单列表、查询明细功能。4) 用户管理:实现登入/登出、用户注册。管理系统管理描述 用户管理:对于系统管理提供用户删除、用户列表功能。 订单管理:实现订单列表、查询明细功能。4.2系统结构设计本系统整体采取分层结构设计,主要如下:a) 表现层:JSP+Struts2标签

33、+JSb) 控制层:Struts2控制器c) 业务层:Action组件d) 数据访问层:DAO组件(基于Hibernate)4.3系统用例图设计 4.3.1交易系统4.3.2管理系统 第四章 数据库设计 4.1 E-R图本系统所有表信息如下:表名功能说明d_user用户信息表,存储用户信息d_book图书信息表,存储图书信息d_product产品信息表,存储所有种类产品的共同属性d_category类别栏目表,存储了类别信息及包含关系d_category_product类别产品对应关系表,存储了类别和产品之间的对应关系d_order订单信息表,存储了订单包含哪些产品d_item订单明细表,存储

34、了订单包含哪些产品d _receive_address用户地址表,存储了用户以前使用过的收货地址4.2 数据实体描述(部分表) 1)商品表 字段名称类型 约束 描述idintauto_incrementpk商品 idproduct_namevarchar(250)NOT NULL商品名descriptionvarchar(250)/描述add_timebigint/添加时间fixed_pricedoubleNOT NULL商品价格keywordsvarchar(200)/关键字has_deletedint/是否删除product_picvarchar(200)/书图片2)用户表(d_user)

35、idintauto_incrementpk用户idemailvarchar(50)NOT NULLEmailnicknamevarchar(50)/用户名passwordvarchar(50NOT NULL密码user_integralintNOT NULL用户级别is_email_verifchar(3)/是否验证email_verify_codevarchar(50)/验证码last_login_timevarchar(50)/最后登录时间last_login_ipvarchar(15)/最后登录ip4.3 数据实体初始化 -初始化商品表INSERT INTO d_product VALU

36、ES (1,上课头疼的故事,上课头疼的故事,1237873000234,200,180,key,0,16.jpg);INSERT INTO d_product VALUES (2,上课头疼的故事,上课头疼的故事,1237873000234,210,130,key,0,17.jpg);INSERT INTO d_product VALUES (3,上课头疼的故事,上课头疼的故事,1237873000234,220,120,key,0,18.jpg);INSERT INTO d_product VALUES (4,上课头疼的故事,上课头疼的故事,1237873000234,230,205,key,

37、0,19.jpg);-初始化商品类别表等INSERT INTO d_category VALUES (1,1,Book,图书,NULL,0);INSERT INTO d_category VALUES (2,1,Novel,小说,NULL,1);INSERT INTO d_category VALUES (3,2,Youth,青春,NULL,1);第六章 系统实现6.1用户注册和登录模块的设计与实现 提供用户注册、用户登录、用户登出。用户验证邮箱激活。 6.1.1界面设计系统注册页面的设计实现如下图所示:系统登录页面的设计实现如下图所示:6.1.2 主要实现代码:1)用户注册public St

38、ring register() throws Exception / 调用DAO保存userUserDAO userDao = new UserDAOImpl();user.setUserIntegral(0);/ 密码加密String pwd = MessageDigestUtil.digestByMD5(user.getPassword();user.setPassword(pwd);/ 设置最后登录时间DateFormat df = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);user.setLastLoginTime(df.format(new

39、Date();/ 设置ipString ip = ServletActionContext.getRequest().getRemoteAddr();user.setLastLoginIp(ip);/ 设置邮箱是否激活标识user.setEmailVerify(false);/ 生成邮箱验证码,写入userString emailCode = VerifyUtil.generatorEmailCode();user.setEmailVerifyCode(emailCode);userDao.save(user);/ 绑定用户idInteger userId = user.getId();Htt

40、pSession session = ServletActionContext.getRequest().getSession();session.setAttribute(userId, userId);this.request.getSession().setAttribute(user, user);/ System.out.println(user.getEmail();return success;/ 验证邮箱public String checkEmail() throws Exception UserDAO userDao = new UserDAOImpl();boolean

41、flag = userDao.isExistsEmail(email);if (flag) ok = true;/ 如果flag为true表示此邮箱没被使用 else ok = false;return success_email;/ 验证码public String checkcode() String number = (String) ServletActionContext.getRequest().getSession().getAttribute(number);/ System.out.println(image+imageCode);if (imageCode.equalsIg

42、noreCase(number) ok = true; else ok = false;return check;2)用户登录public String execute() throws Exception / 如果邮箱没有激活跳转到激活页面/ 如果密码正确,邮箱激活了,则进入系统主界面main/ this.request.getSession().setMaxInactiveInterval(0);UserDAO userDao = new UserDAOImpl();String loginEmail = (String) this.request.getSession().getAttr

43、ibute(userEmail);user = userDao.checkUserByLoginEmail(loginEmail);/ 必须绑定当前登录的用户,否则后面用户激活,将得不到本用户的激活码this.request.getSession().setAttribute(user, user);if (user.getUserIntegral() = 1) SuperUserDAO superUserDAO = new SuperUserDAOImpl();listUser = superUserDAO.findAllUser();/ 管理员不列出for (int i = 0; i li

44、stUser.size(); i+) User user = listUser.get(i);if (user.getUserIntegral() = 1) listUser.remove(user);return userList; else if (user.isEmailVerify() / TODO 更新d_user的last_login_time和last_login_ipuserDao.updateLastLoginTimeAndLastLoginIp(loginEmail,new SimpleDateFormat(yyyy-MM-dd HH:mm:ss).format(new D

45、ate(), this.request.getRemoteAddr();return success; else return verifyform;public String exit() User user = (User) this.request.getSession().getAttribute(user);/ 用户退出时,将绑定的用户删掉this.request.getSession().setMaxInactiveInterval(0);return exit;/ 验证邮箱public String emailCheck() throws Exception UserDAO us

46、erDao = new UserDAOImpl();boolean flag = userDao.isExistsEmail(userEmail);if (!flag) ok = true;/ 绑定当前登录用户的email/ ServletActionContext.getRequest().getSession().setAttribute(userEmail,userEmail);this.request.getSession().setAttribute(userEmail, userEmail); else ok = false;return emailok;/ 验证用户登录密码pub

47、lic String passwordCheck() throws Exception UserDAO userDao = new UserDAOImpl();/ userEmail=(String)ServletActionContext.getRequest().getSession().getAttribute(userEmail);String userEmail = (String) this.request.getSession().getAttribute(userEmail);String password = userDao.checkUserPassword(userEma

48、il);/ 对输入的密码进行加密String pwdCheck = MessageDigestUtil.digestByMD5(passwordCheck);/ System.out.println(pwdCheck);/ System.out.println(userEmail);if (password.equals(pwdCheck) & pwdCheck != null) passwordOk = true; else passwordOk = false;return passwordok;6.2商品展示模块的设计与实现6.2.1功能描述 提供商品分类导航菜单、商品分类浏览、查看商品

49、明细功能。6.2.2界面设计商品展示首页部分页面截图如下:6.2.3部分主要实现代码:public String execute() throws Exception /根据请求参数pid获取cats集合/CategoryDAO catDao=new CategoryDAOImpl();CategoryDAO catDao=DAOFactory.getCategoryDAO();cats=catDao.findByPid(pid);/pid直接从其页面上进行获取/ 根据cats统计num结果,产品种类的总数Iterator iter=cats.iterator();while(iter.has

50、Next()int pnum=0;Category c=iter.next();pnum=c.getPnum();num+=pnum;/根据请求参数id获取pros集合ProductDAO proDao=null;proDao=DAOFactory.getProductDAO(DAOFactory.TYPE_BOOK);int begin=(page-1)*size;pros=proDao.findByCatId(id, begin, size);this.request.getSession().setAttribute(begin,begin);/统计处maxPage最大页数pageCou

51、nt=proDao.findCount(id);/System.out.println(pageCont+pageCount);if(pageCount%size!=0)maxPage=(pageCount/size)+1;elsemaxPage=pageCount/size;/this.request.getSession().setAttribute(page,page);return success;public String execute() throws Exception / 根据请求参数pid获取cats集合/ CategoryDAO catDao=new CategoryDA

52、OImpl();CategoryDAO catDao = DAOFactory.getCategoryDAO();cats = catDao.findByPid(pid);/ pid直接从其页面上进行获取/ TODO 根据cats统计num结果,产品种类的总数Iterator iter = cats.iterator();while (iter.hasNext() int pnum = 0;Category c = iter.next();pnum = c.getPnum();num += pnum;/ 根据请求参数id获取pros集合ProductDAO proDao = DAOFactor

53、y.getProductDAO(DAOFactory.TYPE_BOOK);/ page=Integer.parseInt(this.request.getParameter(page);int begin = (page - 1) * size;/ System.out.println(selectValue + selectValue);if (selectValue.equals(timeDesc) pros = proDao.productByTime(id, begin, size); else if (selectValue.equals(priceDesc) pros = pro

54、Dao.productByMoney(id, begin, size); else if (selectValue.equals(priceUp) pros = proDao.productByDownMoney(id, begin, size); else pros = proDao.findByCatId(id, begin, size);/ System.out.println(pros+pros.size();/ 统计处maxPage最大页数pageCount = proDao.findCount(id);System.out.println(pageCont + pageCount)

55、;if (pageCount % size != 0) maxPage = (pageCount / size) + 1; else maxPage = pageCount / size;/ this.request.getSession().setAttribute(maxPage, maxPage);return success;6.3购物车管理的设计与实现6.3.1功能描述得到用户放入购物车中的商品,提供市场价与当当价的差值,可以变更购买数量,删除放入购物车中的商品,及恢复删除的商品。6.3.2界面设计购物车设计的界面如下所示:6.3.3部分主要实现代码:/* * 添加到购物车 */pu

56、blic String addCart()throws ExceptionProductDAO productDAO=new BookDAOImpl();Book book=(Book)productDAO.findProductById(proId);CartItem item=new CartItem();item.setBook(book);item.setQty(1);Cart cart=(Cart)this.request.getSession().getAttribute(cart);/Cart cart=(Cart)this.session.get(cart);if(cart=n

57、ull)/如果是第一次购买,现创建好cart对象/然后邦定到session对象上cart=new Cart();/尝试查找名叫cart的cookie,恢复之前购买的商品数据cart.load(CookieUtil.findCookie(cart, this.request);this.request.getSession().setAttribute(cart,cart);/this.session.put(cart,cart); flag=cart.add(item); if(flag)/没有买过,返回到商品列表/将cart中的数据以cookie的形式备份到客户端 CookieUtil.ad

58、dCookie(cart,cart.store(), this.response); return success;6.4.订单管理模块的设计与实现6.4.1功能描述可填写送货信息,可根据用户信息异步自动完成送货信息的填写,可以选择送货方式,确认订单,生成订单,查看订单列表。 6.4.2界面设计:6.4.3部分主要实现代码:public String save() throws Exception AddressUserDAO dao = new AddressUserDAOImpl();Cart cart = (Cart) this.request.getSession().getAttri

59、bute(cart);User user = (User) this.request.getSession().getAttribute(user);Integer id = user.getId();receiveAddr.setUserId(id);/ System.out.println(dddd+dao.isExistsAddress(receiveAddr);if (!dao.isExistsAddress(receiveAddr) dao.save(receiveAddr);/ 保存订单AddressUserDAO addressUserDAO = new AddressUserDAOImpl();ReceiveAddress receiveAddress = addressUserDAO.getDetailAddressByUserId(id);OrderDAO orderDAO = new OrderDAOImpl();orde

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