jsp网上书店系统毕业论文

上传人:e****s 文档编号:73515379 上传时间:2022-04-11 格式:DOC 页数:42 大小:1.63MB
收藏 版权申诉 举报 下载
jsp网上书店系统毕业论文_第1页
第1页 / 共42页
jsp网上书店系统毕业论文_第2页
第2页 / 共42页
jsp网上书店系统毕业论文_第3页
第3页 / 共42页
资源描述:

《jsp网上书店系统毕业论文》由会员分享,可在线阅读,更多相关《jsp网上书店系统毕业论文(42页珍藏版)》请在装配图网上搜索。

1、摘要电子商务是利用现代信息网络进行商务活动的一种先进手段,作为创新的经济运行方式,其影响己经远远超过商业领域。 针对当前蓬勃发展的电子商务浪潮,本文从理论和实践两个角度出发,对电子商务进行了深入的探讨。论文构建一个电子商务应用系统网上书店。本系统是一个基于Internet,采用B2C(Business to Consumers)模式,并根据现有的网上购物系统的现状而设计开发的电子商务平台。它不但可以扩大商家的规模和市场影响力,而且可以减少企业的经营成本,提高工作效率。本文首先介绍了网上购物系统的现状及开发背景,然后论述了系统的设计目标,系统需求和总体设计方案,较详细的论述了系统的详细设计和实现

2、。最后,本文对网上购物系统进行了系统检测并提出了还需要改进的问题。 本系统主要为用户提供了会员注册,购物车管理,商品搜索,用户资料修改等功能,为管理员提供了商品管理,用户信息管理,订单管理等功能。在设计方面,本系统采用B/S三层结构,同时使用JSP技术进行动态页面的设计,从系统的安全性和代码的可重用性方面考虑,运用JavaBean对程序的关键代码进行封装。后台数据库选用Mysql数据库。关键词:电子商务 应用系统 JSP MySQL Tomcat CSS HTMLABSTRACTWith the rapid development of computer technology, a compu

3、ter application in business management in the popularity of computer personnel management of enterprises is imperative. The system combines the companys actual personnel management system, through the actual needs analysis, using the powerful JSP6.0 and Mysql as a development tool and developed a st

4、and-alone version of the personnel management system.The entire system from the line with simple, user-friendly, flexible, practical and security requirements proceed to complete the entire process of personnel management, including new employees to join the establishment when the personnel files, t

5、he old roll-out of employees, job changes and other information caused by workers changes to employee information query, statistics, etc. personnel management as well as budding new member of the old staff changes and other management work. After the actual use of evidence, this article is designed

6、to meet the companys personnel management system, personnel management needs.With the gradual popularization of the network, campus network construction is the school to the inevitable choice for the development of information technology, campus network system is a very large and complex system, it

7、not only for modern teaching, integrated information management and office automation applications such as a series of provide basic operating platformAbstract :JSP MySQL Tomcat CSS HTML目录摘要IABSTRACTII目录III前言1第一章 网上书店系统概述11.1 系统开发背景1网上购物的发展1网上购物系统实现的现状1系统实现的目标11.3 系统开发的意义3第二章 网上购物系统分析5网站的设计目标5网站的可行性

8、分析5网站设计的特点5系统设计的总体规则6第三章 网上书店系统的开发技术架构5第四章 系统的功能和流程分析7网站的功能分析74.2 系统流程分析74前台购物流程7注册功能流程8用户登录流程8图书/类别管理流程9购物车流程10第五章 系统功能的具体实现11数据库的逻辑结构设计115.2 功能总体说明12 目录结构说明12 功能页面结构12 主要功能流程13各功能模块的实现14数据库连接模块()14设计模式的应用14.1业务逻辑DAO封装。14.2单例模式14.3 模块的类设计15 用户模块15.1 会员注册登录设计16.2 后台会员管理设计17 类别模块18.1 cno值计算18.2 类别的增删

9、改查19.3类别的前台展示22 图书模块22.1 后台图书管理的基本操作22.2 前台图书的展示23 购物车模块23.1购物车的创建23.2购物车的管理24.3购物车的显示24订单模块24.1 创建订单25.2 用户提交订单25.3 后台订单管理26.4用户查看订单27第六章 系统测试及难点分析28系统运行环境的搭建28 JAVA虚拟机的安装28Tomcat环境搭建286.2 系统程序的安装和加载28 文件的拷贝28 数据库的连接28 系统的性能分析296.3 系统中所存在的问题29第七章 结束语30致谢31参考文献32前言目前,网络正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和

10、日常生活。网络的诞生和发展,颠覆了传统的信息传播方式,冲破了存在于传统交流方式中时间和空间的种种壁垒,极大地改变了人类从物质到精神、从形式到内容、从生产到生活的各种活动,并且给人类带来了新的机遇和挑战。电子商务将成为21世纪网络发展的主流。国内企业在纷纷加入到阿里巴巴等一系列大型电子商务网站,通过网络进行B2B(企业对企业)的网上交易之后,也充分认识到网络交易将成为未来商品交易的重要组成部分,在建立企业宣传网络的同时,也逐步扩大企业自身的网络销售渠道,建立自己的电子商务网站,完成从B2B到B2C(企业对个人)同时进行网络交易的过度,大大提高了企业网络交易的数量和金额。而本次毕业设计的任务是,构

11、建一个电子商务网站,采用的主要技术是基于服务器端的JSP、Java的组件JavaBean,以及网页编程语言HTML、CSS。JSP是Java Server Page的缩写,是由Sun Microsystems公司倡导、许多公司参与建立一种动态网页技术标准,它在动态网页的建设中有强大而特别的功能。JSP是一种服务器端HTML(或XML)嵌入Java代码的脚本语言,是开发Web动态网站快速而有效的工具,JSP的技术的优势:1. JSP技术是用Java语言作为脚本语言的。Java语言是成熟的、强大的、易扩充的编程语言。2. 高效性与安全性。JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执

12、行,比源码解释效率高。3. 可维护性。由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。4.稳定性。5.产品的多样性。目前,在国内JSP还是一种较新的技术。但JSP+Servlet+JDBC+JavaBean目前已经成为开发电子商务平台的主流技术。随着国内与国际的接轨,JSP必将成为网站开发技术的首选。第一章 网上书店系统概述1.1 系统开发背景网上购物的发展近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店

13、,向消费者展示出一种新颖的购物理念。网上购物系统作为B2B,B2C(Business to Customer,即企业对消费者),C2C(Customer to Customer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。本文主要考虑的是如何建设B2C的网上购物系统。1.网上购物系统实现的现状JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。ASP和JSP则没有以上缺陷,ASP可以通过Microsoft Windowsd的COM/DCOM获得A

14、ctiveX规模支持,通过DCOM和Transcation Server获得结构支持;JSP可以通过SUN Java的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。现在流行的网上购物系统不仅要有漂亮的网页,更要有严谨的规划,注重每一个细小的环节。这样才能使得在电子交易时避免不必要错误发生。我们将使用HTML、CSS、JSP等技术来编辑网页,并运用JDBC技术把数据库和动态网页相关联。在实际应用中的解决了建立自己的

15、数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解商品买卖的情况。1.3 系统开发的意义Internet的发展,为改变传统的商业运作模式提供了一种技术上的可行性的方案:利用Internet的技术和协议,建立各种企业内部网Intranet,企业外部网Extranet,通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为:电子商务。 当今比较流行的网上购物系统国外有“卓越,国内有“当当”。它们都是相当优秀的电子商务网

16、站,对其他的网站提供了良好的典范。设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。 设计和完成一个电子商务网站的,将会牵涉到许多技术上的问题,如:动态网页制作技术的,后台数据库的设计和管理,通过实际的制作个网站,可以避免纸上谈兵,在实践中掌握上述技术的使用。第二章 网上购物系统分析系统分析是平台开发的一个不可缺少的环节,为了能够使本系统更好、更完善地被设计出来,就必须先进行调查研究。在系统调查的基础上,对新系统的功能进行细致的分析,从而才能够开发出完整的系统设计。网站整体采用JSP+MySQL+CSS+HTMl技术实现。此系统分为前台管理和后

17、台管理。前台管理是友好的操作界面,供用户浏览、查询使用。包括:浏览商品、查询商品、订购商品、购物车、用户维护等功能;后台管理是提供给管理员的,其中包括:商品管理、用户管理等。使管理员从繁琐的手工操作中解脱出来,并提高了办公效率。可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的市场调查得出以下四点的可行性分析:经济可行性:网上书店主要以书籍 杂志及音像制品等商品为主,网站可提供书籍音像制品的片段共读者浏览,是消费者了解其内容后在订购,没有过多的售后服

18、务,退货问题。与传统书店相比,网上购书的市场规模和经营模式没有限制,突破了地理位置,经营面积,营业时间的局限。是一直种全新的销售渠道。从营业面积地理位置方面节省大量的资金。服务器24小时提供网络服务则消费者可每时都能登陆网站购物,大大增加书店的销售额度。无论从商家还是从消费者的角度看网络书店都具有良好的发展前景。技术可行性:JSPServlet的技术已经较为成熟。运行可行性:该系统需要搭建JVM即JAVA虚拟机和Tomcat环境,在此环境下系统,并且在正确连接数据库后可以正常运行。法律可行性:该平台是作为毕业设计与商业无关,又因为是自主开发设计,因此不会构成侵权,在法律上是可行的。通过以上的可

19、行性分析,我将采用JSPServlet相结合的技术,运用MySQL数据库对网站进行建设。我所设计和开发的网上书店购物平台是经过很长时间的调查和分析才开始具体实施的,它的主要特点是改变了以往的购物只能通过现实的商场才能达到的结果,采用Web技术,借助于Internet互联网广泛应用技术,达到资源共享,提高以往购物的局限性,缩短人们的时间和提高工作效率,具有较好的交互性,从而实现信息化,规范化,系统化,网络化的平台,使整个购物活动过程简单、方便、易行。无论哪个网站都要有它自己的设计规则。该平台也一样,它的主要设计规则有:简单性:在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个网站来说是非

20、常重要的。针对性:该平台设计是网上购物系统及后台管理的定向开发设计,所以具有专业突出和很强的针对性。实用性:该平台能完成电子商品展示和管理员管理的基本信息,具有良好的实用性。第三章 网上书店系统的开发技术架构系统的建设关键在于其所使用的架构,而网上购物这种基于web的系统,传统的c/s架构已经不能满足大量用户的访问和操作,b/s基于浏览器的架构则是目前网络系统应用的主流,它将大量的数据处理工作交给服务器端来处理,客户端只用通过普通的IE浏览器即可访问系统,方便快捷而且利于系统的更新和维护,java语言在该方面更是得天独厚。 在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请

21、求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web Server完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三层体系结构如图3.1所示。 Browse浏览器Web服务器数据库 图3.1 B/S三层架构示意图第四章 系统的功能和流程

22、分析根据实现功能不同将网站分为了在线购书子系统和后台管理子系统。1在线购书子系统为消费提供了在线浏览图书,订购图书的平台。属于前台展示部分的设计。具体功能如下:用户登陆网站浏览图书。用户在主页或我的帐户中注册成为网站的会员。只有网站的会员才能在网站购买图书。用户可以通过分类浏览,书目推荐,新书推荐,书目查询的方式选择喜爱的图书。用户选择图书提交订单完成订购。2后台管理子系统为书店管理员提供了管理网络书店的平台。属于后台管理部分的设计。具体功能如下:注册会员的管理,并通过会员的消费记录更改的会员的等级,不同等级的会员享受不同的购书折扣待遇。图书类别的管理,图书的管理。通过添加,修改,删除对图书类

23、别进行管理。在类别下添加图书记录,对图书的名称,出版单位,媒体推荐,内容简介等详细信息进行添加,修改等管理。订单的管理,查询会员提交的订单并处理。处理已经送货的订单使之对书店的图书销售记录书店库存信息实时修改。书店公告信息的管理 添加书店的公告信息 使消费者及时了解书店的最新动态。4.2 系统流程分析前台购物流程浏览商品选择商品订购商品去购物车去收银台提交订单未注册用户已登录注册用户未登录注册用户注册登录 图4.1 前台购物流程图注册功能流程 注册入口必选项不为空密码是否一致用户唯一性验证通过提交到后台信息入数据库注册成功图4.2 注册功能流程图注册的具体实现为:点击主页面的用户注册选项后,会

24、弹出一个注册信息页面,用户需要如实填写用户名,密码,E_mail,地址, ,证件号码等各项信息,提交后,系统进行检测判断该用户名是否已经注册过,如果已经存在则弹出新页面,提示用户该用户名已经注册过,如果没有则进行下一步判断,用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表即user并提示用户注册成功,用户登陆后,就可以进行有效的购物了。用户登录流程用户登录,首先要有一个提供用户登录的表单。用户登录的表单应该嵌入整体的结构当中。在实际的应用中,可以这样设计,如果用户没有登录,则在主页中显示用户登录的选项,用户登录

25、后,则可隐藏用户登录的选项而代之以用户的基本信息。登录入口取得用户名和密码将UserID存入session中用户是否存在密码是否正确登录成功是是否否图书/类别管理流程类别管理添加类别修改删除满意否返回添加图书是否在该功能里管理员可以进行不需要的商品的删除,在这里管理员当然也可以浏览到商品的详细信息。购物车流程购物车具体的实现可采用这种形式:定义一个购物车的类(Class)。1.列出商品的列表,使用户能够自由选择所需要的商品。“添加到购物车”的链接时,执行如下功能:检查用户购物车类是否存在。如不存在,则建立,将购物车对象加入用户对象中;在有用户购物车类存在的情况下,检查该类中是否有该商品。如存在

26、,则商品数量相应加1;如没有该商品,则将该商品添加到该类中。购物车查看商品满意吗下订单调整商品是否 第五章 系统功能的具体实现数据库的逻辑结构设计系统各项功能的实现归根结底是通过数据库进行各项操作完成的。因此要实现系统规划的功能,提高系统的性能,要选择一个设计合理,功能完善的数据库管理软件,并且设计一个组织严禁没有没有冗余数据,易于维护的数据库。MySQl是一个功能强大的关系型数据库管理软件,具有安全性,灵活性,可靠性,可以有效的开发动态web站点。为数据处理提供服务。Table user(会员信息表结构)Id 主键会员id号码 会员的唯一标志Username会员名称Password会员密码U

27、sernumber会员的有效身份证件号码Phone联系 EmailEmail地址Address会员的详细地址Rdate会员注册时间level会员的等级Recordes会员的消费总额记录 最为评价会员等级待遇的标准Table category(图书类别表结构)Id 主键类别的id号码 类别的唯一标志Pid上层类别的id号码 如果没有上层类别则为0Name类别的名称Description类别的描述信息Cno类别的序列号码表示 如0000四位数字 前两位表示第一级类别 后两位表示第二级类别Grade类别的等级记录 该系统设置类别共两个等级 grade=1 grade=2Table product(图

28、书的基本信息表结构)Id 主键图书的id号码 图书的唯一标志Name图书的名称Normalprice图书的市场价格Discount图书的会员折扣Store图书的库存数量Salescount图书的销售数量Photoname图书的关联展示照片名称 该系统没有设置上传组件 为了测试系统的页面效果 手动添加图片到系统目录Pdate图书上架时间 Descriptionid图书的详细信息的id号码Categoryid图书所属类别的id号码Table description(图书的详细信息)Id 主键图书详细信息的id号码Publisher图书出版社Author图书的作者Introduction图书的简介

29、或推荐信息Context提供给消费者的图书内容预览Table salesorder (订单的基本信息)Id 主键订单的id号码 订单的唯一标志Userid订单所属的会员的id号码Phone订购图书消费者的联系点换Address订购图书的送货地址Odate订购图书的日期Status订单的状态 该系统设置了两个状态 status=0 或 1 分别是尚未处理 处理成功Table salesitem (订单详细条目的信息)Id 主键订单单项条目的id号码Productid订单单项图书id号码 Unitprice订单的单项图书的订购单价 分普通会员价格 白银会员价格 黄金会员价格三种Count订单中单项

30、图书记录的订购数量Orderid订单单项所属的订单id号码5.2 功能总体说明 目录结构说明(1) src用于存储系统管理员的后台操作脚本,包括图书类别管理、图书管理、订单管理、系统用户管理等功能;(2) image 用来存储商品的图片资料,网页上的图片文件(3) sql用来存储系统的数据库结构源文件(4) admin 用于存储后台管理的jsp页面(5) style 用于存储页面修饰的CSS文件(6) 根目录下存放的是前台页面的jsp文件 功能页面结构(1)前台功能页面主页面框架:index.jsp,myAccount.jsp,商品展示:productshow.jsp,search.jsp,p

31、rosuctAllInformation.jsp,cart.jsp,buy.jsp,sale.jsp,saleconfirm.jsp (2)后台管理页面类别管理:addCategory.jsp,a图书管理: 主要功能流程主页面。类别修改用户登陆注册管理进入添加到购物车图书管理资料修改类别管理类别添加会员管理订单管理图书修改图书添加订单查询订单处理是否会员退出返回搜索物品选购物品结帐付款填写订货单购物成功会员信息退出图5.1 主要功能流程图数据库连接模块(com.KeHuiBookShop.DB)设计数据库连接模块的思想是面向对象的封装思想。把数据库的连接操作封装到DB类中,使在编写业务逻辑是不

32、用重复的编写连接数据库的语句块,极大的减少了代码编写数量,减少了我开发的时间,并保证了连接的正确性,似的维护数据库连接的灵活性增强。DB类中实现了创建Connection连接方法 获得与数据库的有效连接。创建SQL语句载体Statement方法。创建PreparedStatement的方法 PreparedStatement语句能更有效地实现对数据库记录的添加 删除 修改操作。创建查询结果集ResultSet的方法 结果集中包含了查询数据库所得到的所有数据记录。创建关闭Connection,Statement ,ResultSet的方法。对数据库的所有操作完成之后必须将于数据库相连的Conne

33、cion对象关闭以释放系统所占的资源。设计模式的应用设计完成数据库连接模块之后考虑怎样更好的设计其他业务逻辑模块,怎样更好的提高业务逻辑模块的灵活性,可移植性。.1业务逻辑DAO封装。网站的数据库使用的MySQL,如果随着网站的发展将会使用多种数据库测试时便要修改MySQL数据库的代码给维护带来的很大不便。使用DAO模式设计了DAO接口 编写MySQL实现的数据库操作实现了DAO接口 使用多数据库测试时 只需要编写不同的DAO实现便可。提高了灵活性。public interface Dao;public class MySqlDao implements Dao;.2单例模式在JSP页面中处理

34、数据时调用业务逻辑方法处理,此时构造一个该模块业务逻辑的管理类manager统一管理此模块中的所有业务逻辑的调用。在每次调用业务逻辑时需要构造一个管理员类的实例,频繁的调用逻辑方法都要创建单独的管理员极大的浪费系统的资源。为了节省资源使用单例模式,只构造一次管理对象。也便如现实中的工厂,只有一个管理员,而不是每次进出工厂都要找一个管理员,如果管理员存在便不在聘请。public class Managerprivate static Manager manager = null;public static Manager getInstance()if(manager=null)manager

35、= new Manager();return manager;.3 模块的类设计设计模块的具体功能时首先应先设计承载这些功能的类,各功能模块都应包含实体类 ,业务逻辑类两部分。实体类依据设计的数据库的逻辑结构编写,包含了数据成员对应各自的数据库表的列,并提供对个数据成员的get set 方法。业务逻辑类内部主要包含实现个功能的业务逻辑方法。该系统使用三层类的结构。即管理类Manager ,DAO类 ,数据库实现类。 用户模块用户模块分为会员注册并登录网站并在我的帐户中管理自己的信息和网站管理员在后台管理会员信息两部分。用户进入网站后可以注册为会员,会员可以订购图书并享受折扣待遇。会员登录后可以

36、在我的账户中管理自己的个人信息,包括修改查看个人基本信息,查看订单信息,查看消费信息。图5.2 首页页面.1 会员注册登录设计图5.3 注册页面电子商城系统离不开用户与网站之间的交互,用户注册和登录十分重要。该系统对用户注册和登录功能进行详细设计。会员注册时在注册页面编辑个人信息,通过信息表单提交个人信息到服务器审核。检查用户提交的信息是否为空,用户提交的信息不能为空。会员注册用户名不能与以往已经注册的用户民重复,否则无法区分。在提交信息到数据库时对此进行了检查限制。通过调用UserManager.getInstance().checkUsername()检查会员名是否已经存在。审核通过便成功

37、注册为会员。将信息添加到数据库中保存。在业务类中提供了addUser()方法添加数据。因为在添加想数据库添加数据方面大同小异所以一添加用户为例详细介绍向数据可添加数据的方法。public void addUser(User user)Connection conn = DB.getConnection();/使用编写好的DB类创建与数据库的连接String sql = insert into user values(null,?,?,?,?,?,?,?,?,?);/编写sql语句 该sql语句使用PreparedStatement的格式PreparedStatement psta = DB.p

38、repareStatement(conn, sql);try conn.setAutoCommit(false);/为了更安全的提交数据将数据库的事务提交改为手动提交psta.setString(1,user.getUsername();psta.setString(2,user.getPassword();psta.setString(3,user.getUsernumber();psta.setString(4,user.getPhone();psta.setString(5,user.getEmail();psta.setString(6,user.getAddress();psta.s

39、etTimestamp(7,new Timestamp(user.getRdate().getTime();psta.setDouble(8,0.0);psta.setInt(9,0);psta.executeUpdate();/利用PreparedStatement对数据库修改(添加数据)conn mit();/将所做的修改的事务提交 catch (SQLException e) e.printStackTrace(); finally try conn.setAutoCommit(true);/将自动提交值改为默认值 catch (SQLException e) e.printStackT

40、race();DB.close(psta);DB.close(conn);/关闭连接数据库的资源会员注册后每次只需登录网站便可在网站购物。会员在首页登录表单内填写相应的信息登录网站。服务器验证信息正确则返回首页显示用户成功登录,并把用户登录信息添加进session中统一管理。如果信息错误则返回注册页面请会员重新登录。将会员的信息封装到User类中添加进session管理session.setAttribute(user,user);利用session在服务器中统一管理会员的登录信息更能保证用户登录的安全。5.2 后台会员管理设计该系统实现的后台会员管理主要是获取所有会员的信息 使用表格将会员信

41、息显示在网页上。为了便也管理系统实现了会员信息类表的排序和分页。利用排序方式和页面参数获取会员列表分别使用了数据库的排序操作和分页操作技术。图5.4 用户列表页面 类别模块通过设计类别模块能够更方便的管理图书目录,消费者在选购图书的时候能够更方便的按类别寻找自己喜爱的图书,所以类别的设计很重要。能够更好的引导消费者选购也能够更好的帮助管理者管理图书。类别管理同样使用了实体类家三层业务逻辑类的方法。系统中设计了两层类别,第一级类别为主类别,第二层为某主类别小细分的子类别。在数据库表项中使用grade字段记录类别的等级。并使用cno字段类别的排序号码。Cno值使用了四位数字,前两位为第一级类别使用

42、,后两位为第二级类别使用,即每一级都可添加一百种不同的类别。Cno更好的辅助了类别管理是递归的实现。在展示类别列表时按照cno排序即可实现递归的功能,依次展示主类别和旗下子类别。.1 cno值计算在添加类别是需要添加类别的cno值,因为cno值应为系统自动添加所以在业务逻辑中重点编写了计算cno值的方法。首先查询同级兄弟类别中cno的最大值,如果同级兄弟类别中还有没记录 重头开始编写该级别的cno(0000)如果同级兄弟类别中已经有了其他记录 则要跟在其他记录cno值后面编写。public int getCno(Connection conn , Category c)Statement st

43、a = DB.createStatement(conn);String sql = select max(cno) from category where pid=+c.getPid();/查询兄弟类别中的cno最大值使用String getpno = select cno from category where id=+c.getPid();/查询父亲类别的cno值使用ResultSet rs = DB.getResultSet(sta, sql);int cno = -1;tryrs.next();int maxcno = rs.getInt(1);int addno = (int)Mat

44、h.pow(100,2-c.getGrade();if(maxcno=0)/说明同级兄弟类别中还有没记录 所以尚且没有cno数据 重头开始编写该级别的cno(0000)if(c.getPid()=0)/说明了要添加的该类别属于第一级范围 该从百位数开始加(第一条记录cno值:0100)cno = addno;else/说明该类别不是第一级 那么应该从个位数开始加ResultSet pnors = DB.getResultSet(sta, getpno);pnors.next();int pno = pnors.getInt(1);cno = pno+addno;DB.close(pnors);

45、else/说明同级兄弟类别中已经有了其他记录 则要跟在其他记录cno值后面编写cno = maxcno + addno; catch (SQLException e) e.printStackTrace(); finally DB.close(rs);DB.close(sta);return cno;.2 类别的增删改查网站管理员可以对类别进行添加,修改,删除,查看操作,系统的对类别进行管理。类别的添加,修改仍旧使用了表单添加信息提交到服务器然后添加进数据库的方法。值得注意的是不同等级的类别操作的方式不一样。二级类别只能在第一级父亲类别下面添加,所以当添加第二类别是需要传递父亲类别的id号码作

46、为参数,如果没有则显示错误信息要求指定父亲类别。类别列表查看时在类表中应该有维护类表方法的连接。比如添加子类别 修改类别 添加商品 删除类别等。同样使用用户模块中的列表技术。类别的删除使用删除数据库表记录的操作。在商品管理中同样有删除的功能,大同小异,所以在这里详细介绍类别的删除。public void deleteCategory(int id)Connection conn = DB.getConnection();String sql = delete from category where id=?;/通过id号码的条件删除相应的记录PreparedStatement psta = D

47、B.prepareStatement(conn, sql);tryconn.setAutoCommit(false);psta.setInt(1,id);psta.executeUpdate();conn mit(); catch (SQLException e) e.printStackTrace(); finally try conn.setAutoCommit(true); catch (SQLException e) e.printStackTrace();DB.close(psta);DB.close(conn);值得注意的是: 要删除第一级类别是 如果第一级类别下有第二级类别存在则

48、不允许删除。通过编写testDelete()方法测试是否允许删除 在JSP页面中调用,如果不允许那么在类别类表页面中则不能显示删除选项。public boolean testDelete(int id)Connection conn = DB.getConnection();Statement sta = DB.createStatement(conn);String sql1 = select * from category where id=+id;/ 查询类别String sql2 = select * from category where pid=+id;/查询id号码下面的所有的子

49、类别ResultSet rs1 = DB.getResultSet(sta, sql1);boolean delete = true;tryrs1.next();if(rs1.getInt(grade)=1)/如果该类别为第一级类别那么则要测试其下有没有子类别ResultSet rs2 = DB.getResultSet(sta, sql2);if(rs2.next()delete = false;/一级类别下面有子类别所以设置delete值为false并返回告知不能删除 DB.close(rs2); catch(SQLException e)e.printStackTrace(); fina

50、llyDB.close(rs1);DB.close(sta);DB.close(conn);return delete;图 5.5 图书类别页面图5.6 添加类别页面.3类别的前台展示后台管理员将类别展示之后需要在前台页面展示出来以供用户浏览使用同样使用向业务逻辑传递集合参数的方法,从数据库中取出数据放入集合categorylist中然后返回。 在前台页面图书列表的区块中使用集合Iterator循环的技术从图书表中获取图书列表放在中展示。注意的是当通过ul列表将类别依次显示出来 并设置主类别和子类别的不同的从class值 并在css设置是显示效果不同 增强用户的浏览效果性,提高网站的美观性。

51、图书模块.1 后台图书管理的基本操作后台图书管理可以添加图书,修改图书信息,删除图书记录。在添加图书是需要传递一个类别的id参数,在某类别下添加图书,如果没有参数则显示错误信息必须要在某类下添加图书。图书的信息包含了基本信息和详细信息。方便管理员有选择的添加图书的相关信息。对于没有必要添加图书详细信息的记录则不添加。图5.7 图书列表页面.2 前台图书的展示首页中设计了热卖图书的展示区块,最新图书的展示区块,促销最快的展示区块。使用按销售额,上架时间,折扣排序从数据库中获取数据存放在传递的集合参数中。然后从集合中取出数据展示出来。三个区块的设计大致相同。用户可以从类别表中选择类表点击进入该类别

52、下的图书展示网页productshow.jsp进行浏览。在该JSP网页中获得用户点击的categoryid号码 作为参数传递给业务逻辑类处理通过categoryid号码查询属于该类别的所有图书展示。图书记录取出同过HTML中UL列表技术依次展示。 在网页中同样实现了分页 和 排序的技术。图5.8 图书展示页面 购物车模块购物车临时存储用户的购物信息,用户可以随时增加商品,修改数量和删除商品。购物车的与数据存储主要依赖sessiion来实现。.1购物车的创建本系统创建了购物车的实体类Cart和购物车内物品的实体类CartItem来模拟购物车。在购物车实体类中设置了数据成员CartItem的集合及

53、对该集合的get,set方法。在CartItem中编写了Cart实体的引用作为数据成员。将整个图书的信息封装到了购物车中。在用户的实体类编写了Cart的引用将购物车的所有信息封装到了所属的用户之中。用户在网页中点击图书时将图书的id号码传递到buy.jsp中并在网页中过去该id号码的图书信息封装到图书对象中。然后将图书对象添加进CartItem网页中实现将图书记录添加进购物车。如果用户没有选购图书则session中用户对象中cart对象为空 如果用户选购了图书当再次选购图书时不能重新构建购物车而是使用原有的购物车继续添加.2购物车的管理用户点击购买图书之后,图书记录存放在购物车之中。用户可以随

54、时修改购物车中的信息,包括删除图书,增加图书的记录。在系统中编写add方法 和 delete方法 分别实现对购物的管理 重点设计add方法 和 delete方法,使得无论什么时候购物车中图书的对象都是唯一的,利用购物车的count属性记录相同图书对象的数量。如果购物车中已经存在相同的图书则只修改购图书的数量即可。.3购物车的显示设计购物车显示模块应当能够时消费者清楚自己已经订购的图书种类,图书的数量,每一种图书的价格,以及将要下订单的总价格,并提供更改购物车的连接接口使得消费者更方便的管理自己订购的图书,放心的消费。购物车模块与订单模块都应当有有订购图书名称,价格,总价格的显示。图5.9 购物

55、车页面订单模块订单模块时整个系统功能最后的也是最关键的模块,因为只有用户正确的提交了订单才能保证用户的合法消费权益,网站才能根据用户的订单发送图书。正确设计订单模块才能根据消费者的消费正确更新消费者等级信息,提高消费者的优惠享受。正确设计订单模块才能使的管理员清楚图书的销售进度及库存数最新状态。所以订单的设计尤为关键。整个订单模块可分为用户确认提交订单部分 用户在我的帐户中查看订单信息部分 网站管理员管理订单并更改订单信息发货部分 用户提交订单之后用户消费等级信息的修改及网站图书记录销售额和库存的修改部分在订单提交时首先要检测用户是否在登陆状态。只有用户在登陆状态时才能提交订单。在订单页面中显

56、示消费者的 联系方式和送货地址。消费者可在订单页面再次修改自己的 号码和送货地址作为本次订购的联系方式。在订单页面中仍旧显示购物车中图书,可供消费者再次查看并确,否则可返回修改购物车。当消费者验证完所有信息后可点击提交订单。订购图书正确送到消费者手中之后,管理员应该更新订单成功状态以使及时改变用户的消费记录和等级,改变网站系统此图书的销售数量。.1 创建订单跟购物车相似 订单类同样有订单实体类和订单项实体类两个,在订单类SalesOrder中有数据成员订单项的集合salesitemlist可以承载订单项SalesItem类的实例。按照数据库相应表结构来那个各类都具有自己的其他数据成员。在用户的

57、实体类中添加订单类的引用,将订单对象放入session管理,调用业务逻辑处理添加进数据库。.2 用户提交订单用户从购物车页面点击结算连接到订单页面sale.jsp 调用buy方法吧购物车里的信息构造成为订单对象public void buy(User user)SalesOrder so = new SalesOrder();/构造订单类对象so.setUser(user);/编写订单属于那个用户 在订单类中编写了用户的引用so.setOdate(new Date();so.setStatus(0);/订单状态为0表示订单尚未处理for(Iteratori=user.getCart().get

58、Cartitems().iterator();i.hasNext();)/从购物车中取出图书记录CartItem ci = (CartItem)i.next();SalesItem si = new SalesItem();si.setProduct(ci.getP();si.setCount(ci.getCount();/将从购物车中取出的图书添加进订单项之中double price =(/定义变量price表示图书的单价 price的只根据图书的市场价格与会员等级对应的图书折扣的乘积并乘以图书的数量计算而得 因为在购物车模块展示功能中已经介绍这里没有编写);si.setUnitprice(price);/将price值设为订单中图书的订购单价so.getSalesitemlist().add(si);/把订单项添加如订单的订单项集合中user.setSo(so);/将订单对加入user对象放入session中管理 也被插入数据库存储。在该页面通过表单显示用户的 和地址信息使的用户可以在此页面再次又该订购的图书要送达的

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