基于web电子商务管理系统的设计与实现

上传人:沈*** 文档编号:75435832 上传时间:2022-04-15 格式:DOC 页数:44 大小:1.35MB
收藏 版权申诉 举报 下载
基于web电子商务管理系统的设计与实现_第1页
第1页 / 共44页
基于web电子商务管理系统的设计与实现_第2页
第2页 / 共44页
基于web电子商务管理系统的设计与实现_第3页
第3页 / 共44页
资源描述:

《基于web电子商务管理系统的设计与实现》由会员分享,可在线阅读,更多相关《基于web电子商务管理系统的设计与实现(44页珍藏版)》请在装配图网上搜索。

1、基于web电子商务管理系统毕 业 论 文(设计)基于web电子商务管理系统的设计与实现学 号: 姓 名: 年 级: 学 院: 信息科学技术学院 系 别: 计算机科学与技术 专 业: 计算机科学与技术 指导教师: 完成日期: 40摘 要近年来,随着Intemet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并进入传统的流通领域。于是电子商务开始流行起来,一种全新的购物理念开始形成并逐步发展。电子商务系统是一种具有交互功能的商业信息系统。本文通过分析国内外电子商务系统的发展和现状,提出了一种利用JSP技术开发电子商务购物系统的方案。本文首先介绍了电子商务系统的现状及开发背景,然后论述了系统的设

2、计目标,系统需求和总体设计方案,较详细的论述了系统的详细设计和实现。本系统主要为用户提供了会员注册,购物车管理,商品搜索,用户资料修改等功能,为管理员提供了商品管理,用户信息管理等功能。在设计方面,使用JSP技术进行动态页面的设计,从系统的安全性和代码的可重用性方面考虑,运用JavaBean对程序的关键代码进行封装。后台数据库选用Mysql数据库。最后本系统经过软件的测试,能够安全稳定地运行,满足各功能的需求并且达到了预期的效果。关键字:电子商务;网上商店;JSP;JavaBeanAbstractIn recent years , with the rapid growing up of In

3、ternet,the Intemet has becoming the best way to collect and provide the information,which has entered into the traditional field of currency.Therefore E-business is becoming more and more popular.So a brand new shopping principle has come into being and developed gradually. E-business system is a ki

4、nd of commercial information system with the mutual function.The thesis analyzed the devolpment state of domestic and overseas E-business system and provided a plan to develop the E-business system with the help of JSP technology.The thesis has firstly introduced the practical situation and the deve

5、loping background of E-business system. And then has described the designing goal,system need and the whole designing plan, has described the detailed design and reality of the system in detail. The system has mainly provided users with the following functions: membership registration, shopping car

6、management,goods search,information modify etc. It has also provided managers with goods management,customer information management and so on. It has been designed with JSP technology in dynamic page design. Considering from the security and reusing code of the system, key codes has been secured by

7、JavaBean technology. Mysql database has been used as the background database.In the end,the system passed the software test and it can work safely and stablely,which satisfied all kinds of functions and requests as we expected.Keywords:E-business; Shopping online; JSP; JavaBean目 录1电子商务管理系统概述11.1系统的开

8、发背景11.2系统实现的目标和开发意义22电子商务管理系统分析42.1系统的设计目标和可行性分析42.2系统设计的特点及思路53电子商务管理系统开发技术及主要构架73.1开发技术的选择73.2系统的主要架构及开发模式83.2.1基于B/S的体系结构83.2.2基于JSP+JavaBean+Mysql的开发模型94系统的功能和流程分析104.1系统功能模块分析104.2系统功能模块的设计分析104.3系统流程分析114.3.1前台购物流程114.3.2用户注册流程114.3.3商品搜索流程124.3.4用户登录流程134.3.5商品管理流程134.3.6购物车流程145系统功能的具体实现155.

9、1系统数据库表的设计155.2功能总体说明175.2.1目录结构说明175.2.2主要功能流程185.2.3数据库连接交互185.2.4首页最新商品展示模块195.2.5商品搜索模块215.2.6购物车模块235.2.7后台用户管理模块245.2.8后台类别管理模块265.2.9后台商品管理模块275.2.10后台订单管理模块305.2.11后台统计分析模块326系统环境搭建及测试35结束语38致谢39参考文献401 电子商务管理系统概述1.1 系统的开发背景电子商务是指以Internet为主要信息传输手段而进行的商务活动。这里的商务活动包括以营利为目的而进行的产品买卖活动和服务提供活动,以及

10、企业为了实现产品的买卖和服务的提供而进行的内部管理和外部协调活动。完整的电子商务涉及到很多方面,除了买家、卖家外,还要有银行或金融机构、政府机构、认证机构、配送中心等机构的加入才行。电子商务是高科技发展的产物,所以电子商务还与技术有密切关联。另外,法律保障也是电子商务得以发展的一个重要环节。计算机因特网上网用户上升,信息产业迅速发展,电子技术发展,全球上网用户购买水平提高,各国政府对电子商务的重视,电子支付手段的发展,法律体系的不断完善,这些都将大力推进电子商务的发展。近年来,随着Internet技术的迅速发展,互联网已日益成为收集提供信息的最佳渠道并逐步扩张到传统的流通领域。于是电子商务开始

11、流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。电子商务购物系统作为B2B(Business to Business,即企业对企业),B2C(Business to Customer,即企业对消费者),C2C(Customer to Customer,即消费者对消费者)这三种电子商务模式的前端商务平台,在电子商务这种商务模式全过程中起着举足轻重的作用。本文主要考虑的是如何建设B2C的电子商务购物系统。网上购物主要依赖于一种具有交互功能的商业信息系统。它向用户提供商品动态信息资源。这些动态信息是指可能随时变化的信息,如商品报价。网上购物系统具有强大的交互功能,可使商

12、家和用户方便的传递信息,方便顾客使其足不出户就能购买到理想的商品。这种全新的交易方式正式电子商务技术发展的产物。在过去的数年间,阿里巴巴、淘宝、支付宝、百度、当当们作为时代的先行者为电子商务的发展奠定了基础,也培育了B2C市场。时代在发展,科技在进步,网络信息化也更加在完善,电子商务的发展更可以说在中国正在萌芽茁壮成长,阿里巴巴的爆发,淘宝的兴起等一些电子商务优秀网站,带给这个时代的不仅是电子商务的催化作用,而且带给的是为更多的人创造那更多的价值,社会才会反馈给他最大的价值。推动那社会更进一步的发展。我国电子商务虽然取得的长足的发展,但总体水平还比较低,发展中还存在着诸多问题,其中又以安全和信

13、用问题最为引人关注。电子商务的运作,涉及多方面的安全问题,资金安全、信息安全、货物安全、商业秘密等等。安全问题如果不能妥善解决,电子商务的实现就是一句空话。许多用户不愿进行网上交易,是因为对网上交易的安全性和可靠性持怀疑态度。信用问题是供需双方网上交易的基础,相互信任是成交的根本保证。不能排除一些人看到网上广告立即通过网上付款购买。但对大多数顾客来说,购买前的认真判断是必须进行的程序。面对信用程度较低,三角债情况严重,假冒伪劣商品泛滥的现实商业环境,对电子商务望而却步是很自然的。1.2 系统实现的目标和开发意义开发出来一个电子商务购物系统不仅要有漂亮的网页,更需要有严谨的规划,注重每一个细小的

14、环节。因为这个系统的用途是顾客能够在网络上完成一个安全的正确的交易,系统开发过程中都要避免在电子交易时有不必要错误发生。我将使用html、jsp等技术来编辑网页,使用javabean技术完成系统所有的逻辑运算,并运用JDBC技术把数据库和javabean相关联。电子商务购物系统的成果为具有前台模块和后台管理模块,基于web运行的小型电子商务购物平台。可以实现基本的网上购物,会员注册,会员自服务,管理员上传商品、修改商品、订单管理等功能。随着国内Internet使用人数的增加,利用Internet进行网上购物并以银行卡付款的消费方式已渐流行,市场份额也在迅速增长,电子商务网站也层出不穷。网上购物

15、给用户提供方便的购买途径,只要简单的网络操作,足不出户,即可送货上门,并具有完善的售后服务。同时,在向当当网这样的地方购买商品,都能实现送货上门,货到付款,使网上购物的安全性得到了保障。这些都是顾客热衷网上购物和网络销售快速增长的原因。这正是电子商务时代带来的变化。电子商务是一项全新的、具有划时代意义的重大技术进步,它的未来发展还难以预料。此次毕业设计过程中能够了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。 设计和完成一个电子商务网站的过程中,将会牵涉到许多技术上的问题,如:动态网页制作技术,java面向对象编程技术,后台数据库的设计和管理,通过实际的制作个网站,可以避

16、免纸上谈兵,在实践中掌握上述技术的使用。2 电子商务管理系统分析2.1 系统的设计目标和可行性分析本系统的平台利用jsp + javabean + mysql数据库的架构实现的,此系统分为前台管理和后台管理。前台管理是友好的操作界面,供用户浏览、查询使用。包括:浏览商品、查询商品、订购商品、购物车、用户自服务等功能;后台管理是提供给管理员的,其中包括:商品类别管理、商品管理、用户管理、订单处理等。随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,电子商务已经成为网上的一股潮流。我们相信要不了太长有时间,顾客就可以在网络世界上获得他们在现实世界上可以获得的所有商品和服务。可

17、行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,根据最初的设计目标和对系统的分析得出以下四点的可行性分析:(1)经济可行性:该系统是本人的毕业设计,本人的设计能力有限,其功能还不能完善,所以没有任何经济效益。(2)技术可行性:jsp + javabean + mysql的技术已经较为成熟。(3)运行可行性:该系统需要搭建JVM即JAVA虚拟机和Tomcat服务器的运行环境,在此环境下运行系统,并且在正确连接数据库后可以正常运行。(4)法律可行性:该系统是本事没有经济效益,并且

18、是自主开发设计,因此不会构成侵权,在法律上是可行的。通过以上的可行性分析,我将采用jsp + javabean + mysql相结合的技术,对网站系统进行建设。经过以上对此系统开发的初步分析,确定了该系统的可行性,并着手于开发本系统,为了能够对现分析设计的系统内容进行充分了解,使所要开发的系统更具有实用性和适应性,调查研究了淘宝、当当网等电子商务平台。并设计出该系统功能如下:(1)能够完成用户注册和用户基本信息的个人修改。(2) 能够完成管理员对网站的商品资料(商品添加、商品修改)、类别管理(类别添加、类别修改)、会员管理(会员删除)、订单管理(订单状态更改)的功能。(3)能够通过商品的名称,

19、商品的类别进行搜索。(4) 用户可以将搜索到的满意商品假如购物车。(5) 能够在购物车中对所选商品进行确定、数量修改。经过前一阶段的调查与研究分析,我已确定了该平台设计的主要功能,对每个功能模块也作了具体描述,下面就来具体分析该平台的设计特点与具体思想。2.2 系统设计的特点及思路本人设计的电子商务购物系统它的主要特点是利用web技术改变了以往的购物只能过现实的商场才能达到的结果,借助于计算机互联网这一个大的平台,充分扩大信息的传播空间,提高以往购物的局限性,缩短人们的时间和提高工作效率,具有较好的交互性,从而实现信息化网络化的平台,使整个购物活动过程简单、方便。 网上购物平台主要是对后台管理

20、和前台操作。后台管理是管理员对本网站的维护,通过商品资料(商品添加、商品修改)、类别管理(类别添加、类别修改)、会员管理(会员删除)、订单管理(订单状态更改)等功能达到对网站的管理。前台操作是用户登录到本网站,可以进行用户注册,通过网站的商品搜索功能,找到自己满意的商品,装入购物车,提交定单进行购买。 无论哪个网站都要有它自己的设计规则。该系统也一样,它的主要设计规则有:简单性:在实现系统的功能的同时,尽量让系统操作简单易懂,这对于一个网站来说是非常重要的。针对性:该系统设计是网上购物系统及后台管理的定向开发设计,所以具有专业突出和很强的针对性。实用性:该系统能完成电子商品展示选购和管理员操作

21、等功能,具有良好的实用性。3 电子商务管理系统开发技术及主要构架3.1 开发技术的选择 合理的选择开发技术,对于网站开发的完成情况有着非常重要的影响。要开发一个网站,首先要选择一个动态网页开发技术。当前比较流行的动态网页开发技术有JSP、ASP、PHP。它们的特性比较如下:ASP全名Active Server Pages,意为“活动服务器网页”。ASP是微软所开发的一种后台脚本语言,它的语法和Visual BASIC类似,把后台脚本代码内嵌到HTML页面中。ASP是脚本解析语言,运行于IIS。优点:无需编译、易于生成、简单易用缺点:速度慢、稳定性差、无法实现跨操作系统的应用PHP是英文超级文本

22、预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。Php是一种开源的网站程序语言运行于Apache。优点:速度快、跨平台、开发成本低、良好的安全性缺点:开发环境复杂、不适合应用于大型电子商务站点、开源性高JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。它也是在传统

23、的网页HTML文件(*.htm,*.html)中插入Java程序段和JSP标记,从而形成JSP文件(*.jsp)。JSP是采用JAVA为程序语言,运行于Tomcat等服务器。优点:系统的多平台支持、安全性高缺点:开发成本高、JAVA程序调试困难这三种都是在传统的HTML代码中,利用HTML标签的扩展,构成页面。不难看出,JSP的综合实力是最强的,尤其是在安全性和跨平台性两个方面,比其他的两种技术都要好,因此,最后我们选择基于Java的JSP技术作为动态网页的开发技术。3.2 系统的主要架构及开发模式系统的开发关键在于其所使用的架构,而电子商务购物系统这种基于web的系统,传统的C/S架构已经不

24、能满足大量用户的访问和操作,B/S基于浏览器的架构则是网络系统应用的主流,它将大量的数据处理工作交给服务器端来处理,客户端只用通过普通的IE浏览器即可访问系统,方便快捷而且利于系统的更新和维护,java语言在该方面更是得天独厚。基于jsp + javabean的开发流程则使开发过程更加清晰明了,利于做一些复杂的逻辑实现,从而节省了开发周期和开发成本。3.2.1 基于B/S的体系结构在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工

25、作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web Server完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三层体系结构如图3.1所示。 浏览器Web服务器数据库 图3.1 B/S三层架构示意图这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子苗条

26、了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分。3.2.2 基于JSP+JavaBean+Mysql的开发模型JSP + JavaBean + Mysql模型工作原理是:当浏览器发出请求时,JSP接收请求并访问JavaBean。若需要访问数据库或后台服务器,则通过JavaBean连接数据库或后台服务器,执行相应的处理。JavaBean将处理的结果数据交给JSP。JSP提取结果并重新组织后,动态生成HTML页面,返回给浏览器。用户从浏览器显示的页面中得到交互的结果。这种开发模型如图3.2所示。Web服务器浏览器 JSP数据库JavaBean 图3.2 B/S开发模型示意图 JS

27、P和JavaBean模型充分利用了JSP技术易于开发动态网页的特点,页面显示层的任务由JSP(但它也含事物逻辑层的内容)承担,JavaBean主要负责事务逻辑层和数据层的工作。JSP和JavaBean这一种模型依靠许多个JavaBean组件实现具体的应用功能,生成动态内容,其最大的特点就是简单。本设计就是要采用这种模型开发。4 系统的功能和流程分析4.1 系统功能模块分析经过前期的深入调查和研究,总结出该平台需要完成的一些具体功能,分析如下:用户管理 用户基本信息录入的注册和用户基本信息的修改。管理员管理 管理员对网站的商品管理(商品添加、商品修改)、商品类别管理(类别添加、类别修改)、会员管

28、理(会员删除)、订单管理(订单状态修改)的功能。搜索功能 能过电子商品的名称进行搜索。购买功能 能够通过查看购物车对所选商品进行确定、挑选。 4.2 系统功能模块的设计分析在系统功能的分析基础上,得到本系统的功能模块图如下:电子商务管理系统index.jsp。商品修改用户管理管理进入类别管理用户注册商品管理商品添加会员管理订单管理类别修改类别添加订单查看订单处理商品名称用户修改会员删除商品搜索订购网站布局图4.1 平台购物模块图4.3 系统流程分析4.3.1 前台购物流程浏览商品选择商品订购商品去购物车提交订单未注册用户已登录注册用户未登录注册用户注册登录 图4.2 前台购物流程图4.3.2

29、用户注册流程注册入口用户名有效?密码有效?2次密码一致?致?电话号码?送货地址?注册成功图4.3 注册功能流程图 注册的具体实现为:点击主页面的用户注册选项后,会弹出一个注册信息页面,用户填写用户名,密码,电话,地址等各项信息,提交后,系统进行检测判断该用户名是否符合要求,如果符合则进行下一步判断,用户输入的密码是否有效且两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息填入数据库表ruser并提示用户注册成功,用户登陆后,就可以进行有效的购物了。4.3.3 商品搜索流程开始搜索输入条件搜索结果查看商品直接购买车下订单继续搜?是否图

30、4.4 商品搜索流程图商品的搜索功能使用户更加方便的进行自己所需要的商品的查询,节省时间,提高效率。用户搜索时只要输入商品的关键字就能搜索到所有相关的商品。并且能列出通过搜索得到的商品的详细信息。4.3.4 用户登录流程登录入口取得user对象将User对象存入session中用户是否存在密码是否正确登录成功是是否否图4.5用户登录流程图商品管理查询商品满意?否返回添加商品是否修改删除4.3.5 商品管理流程图4.6商品管理流程图在该功能里管理员可以进行不需要的商品的删除,在这里管理员当然也可以浏览到商品的详细信息。4.3.6 购物车流程购物车具体的实现可采用这种形式:定义一个购物车Cart的

31、bean文件。检查用户购物车类对象是否存在。如不存在,则创建Cart对象,并将Cart对象存入session中;Cart中有成员变量CartItem,为每一个购物项。购物时,在有Cart对象存在的情况下,检查该对象中的CartItem对象。如所选商品ID与CartItem中的Productid一致,则只在CartItem中Count属性加1;如没有与Productid与所选商品ID一致CartItem,则将创建新的CartItem对象。购物车查看商品满意吗下订单调整商品是否图4.7购物车流程图5 系统功能的具体实现5.1 系统数据库表的设计在建设网站系统之前,我们必须对系统所用到的数据进行大致

32、的分类和具体的结构设计,既要做到清晰明了,又要能适应系统各项功能的调用,而不至于产生结构上的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说数据库是系统的重中之重。首先根据需求画出了数据库概念结构设计阶段E-R图,概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。图5.1 E-R图数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。尽量分离各实体对应的表,一个实体对应一个表,搞清楚该实体有哪些属性,对应有些什么字段,以及各实体之间有何种联系。实体、属性与联系是进行概念设计时要考虑的三个元素,也是一个好的数据库设计的

33、核心。从实际出发,经过仔细地设计,得到各表的设计如表5.15.5所示。表5.1 商品信息表product字段名字段类型字段长度说明idint主键/自动递增namevarchar255商品名descrvarchar255描述normalpricedouble市场价memberpricedouble会员价pdatedatetime上柜时间categoryidint类别ID/引用Category表的ID说明 商品信息表存储的是每一个商品的信息。其中每个商品必须属于某一个类别。只能在类别下面添加商品。表5.2 会员信息表ruser字段名字段类型字段长度说明idint主键/自动递增usernamevar

34、char40用户名passwordvarchar16密码phonevarchar40电话addrvarchar255地址rdatedatetime注册时间说明 会员信息表存储每一个注册会员的信息。每一个会员在网站上进行不同操作必须与会员信息联系。表5.3类别表category字段名字段类型字段长度说明idint主键/自动递增namevarchar255类别名descrvarchar255描述pidint父类别IDisleafint是否叶子节点gradeint级别说明类别表存储所有类别的信息。设置了isleaf字段,只能在叶子节点类别下添加商品。Grade字段描述了改类别为第几级的类别。表5.4

35、订单表salesorder字段名字段类型字段长度说明idint主键/自动递增useridint用户idaddrvarchar255送货地址odatedatetime下单时间statusint订单状态/0未处理 1/处理成功 2/废单说明订单表存储每一种会员下的单,其中根据userid字段知道是哪一位会员的单。根据addr字段中的地址发货。 表5.5订单项表salesitem字段名字段类型字段长度说明idint主键/自动递增productidint商品idunitpricedouble单价pcountint数量orderidint订单ID/引用Salesorder表的ID说明订单项表与订单表相关

36、联,用来存储每一份订单中的不同的商品信息,一条salesitem表记录存储一个购买的商品信息。多个orderid相同的salesitem表中的记录属于同一份订单。5.2 功能总体说明5.2.1 目录结构说明(1) admin 用于存储系统管理员的后台操作脚本,包括商品类别管理、商品信息管理、订单管理、系统用户管理等功能;(2) images下的product文件夹用来存储商品的图片资料,由管理员上传。(3) images下的reports用来存储商品销量统计图表。(4)SQL文件夹下的文件为数据库创建语句。(5)src文件夹用来存储封装起来的一些javabean。5.2.2 主要功能流程主页面

37、index.jsp。商品修改用户登陆注册管理进入添加到购物车类别管理资料修改商品管理商品添加会员管理订单管理类别修改类别添加订单查看订单处理是否会员退出返回搜索物品选购物品填写订货单购物成功会员删除退出图5.2 主要功能流程图5.2.3 数据库连接交互将与数据库交互的代码封装到DB.java的javabean文件中,以后所有javabean文件中所有需要用到与数据库连接或进行数据库操作时直接使用DB.java中的合适的方法。减少了代码的重复度,提高了编程的效率。具体DB.java文件的封装主要代码如下。package wsq.shopping.util;import java.sql.*;pu

38、blic class DB public static Connection getConn() Connection conn = null;try Class.forName(com.mysql.jdbc.Driver);conn = DriverManager.getConnection(jdbc:mysql:/localhost/Shopping,root,root); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace();return conn;

39、public static PreparedStatement prepare(Connection conn, String sql) PreparedStatement pstmt = null; try if(conn != null) pstmt = conn.prepareStatement(sql); catch (SQLException e) e.printStackTrace();return pstmt;public static ResultSet getResultSet(Connection conn, String sql) ResultSet rs = null;

40、try rs = conn.createStatement().executeQuery(sql); catch (Exception e) e.printStackTrace();return rs;public static void executeUpdate(Statement stmt, String sql) try if(stmt != null) stmt.executeUpdate(sql); catch (SQLException e) e.printStackTrace();5.2.4 首页最新商品展示模块 首先在首页得到最近的商品信息的一个集合,调用商品管理类中的方法。

41、ListlatestProducts=ProductMgr.getLatestProducts(10); 然后将拿到的商品信息通过table展示。最新商品 %for(int i = 0; i img height=90 alt= src=images/product/.jpg width=90 border=0 a href = productdetailshow.jsp?id= % if(i+1)%5=0) out.println(); % 图5.3 首页最新商品展示5.2.5 商品搜索模块主页商品搜索模块采用javascript生成select元素列出所有的一级类别和二级类别。通过表单提交

42、选中类别作为搜索条件,还可以加入商品关键词进行搜索。 使用Ajax技术通过getchildcategory_2.jsp以及下面的javascript代码生成一级类别和二级类别select项。var req;function changeCategory()var id = document.form.category1.optionsdocument.form.category1.selectedIndex;var url = getchildcategory_2.jsp?id= + escape(id.value);if(window.XMLHttpRequest) req = new XM

43、LHttpRequest(); else if (window.ActiveXObject) req = new ActiveXObject(Microsoft.XMLHTTP);req.open(GET, url, true);req.onreadystatechange = callback;req.send(null); function callback() if(req.readyState = 4) if(req.status = 200) eval(req.responseText);parseXML(req.responseXML); 最后调用ProductMgr类下的find

44、Products()方法可以得到搜索结果。request.setCharacterEncoding(GB18030);List products = new ArrayList();int pageCount = 0;String keyWord = null;double lowNormalPrice = -1; double highNormalPrice = -1;double lowMemberPrice = -1;double highMemberPrice = -1;Timestamp startDate = null;Timestamp endDate = null;String

45、 strStartDate = null;String strEndDate = null;int pageNo = 1;String strPageNo = request.getParameter(pageno);if(strPageNo != null & !strPageNo.trim().equals()pageNo = Integer.parseInt(strPageNo);int categoryId = 0;keyWord = request.getParameter(keyword);categoryId = Integer.parseInt(request.getParam

46、eter(category2);int idArray ;if(categoryId=0)idArray = null;elseidArray= new int1;idArray0 = categoryId;pageCount = ProductMgr.findProducts(products,idArray,keyWord,lowNormalPrice,highNormalPrice,lowMemberPrice,highMemberPrice,startDate,endDate,pageNo,10);图5.4 用户搜索结果5.2.6 购物车模块 判断session中是否存在购物车Cart

47、类的对象,如果有,直接对这个Cart类的对象进行操作。如果没有,重新创建出一个Cart类的对象cart并将cart对象存入session中。在购物车中添加商品,就是添加一个一个的购物项,所以要创建出一个购物项类CartItem类的对象,然后将选中的商品信息加入这个对象的属性里面。具体的实现代码如下。request.setCharacterEncoding(GB18030);int id = Integer.parseInt(request.getParameter(id);CartItem ci = new CartItem();Product p = ProductMgr.loadById(

48、id);ci.setProductId(id);ci.setPrice(p.getNormalPrice();ci.setCount(1);cart.add(ci);调用loadById方法,传入选中商品的id号,得到了商品类的对象p。然后将p的变量的属性设入CartItem类的对象ci中,最后调用购物车Cart类的add()方法,将购物项对象ci加入购物车类对象cart中。图5.5 购物车显示5.2.7 后台用户管理模块管理员登陆后台后可以查看网站所有的用户信息,管理员不能随意修改用户的信息,当用户做出不合法的行为时,管理员有权利删除用户。首先调用User类的getUsers()方法拿到所有

49、的用户对象:List users = User.getUsers();然后将拿到的User类的对象的集合中的元素遍历展示出来。% for(Iterator it =users.iterator();it.hasNext();) User u = it.next();% a href=UserDelete.jsp?id=删除 调用User类的delete()方法将用户删除。User.delete(id);图5.6 后台用户列表5.2.8 后台类别管理模块类别设计可以为多层,对于这个作为毕业设计的系统,比较合适的类别层数为两层。首先可以添加根类别,也就是第一层类别。然后在第一层类别下面添加子类别。

50、String strPid = request.getParameter(pid);int pid = 0;if(strPid != null)pid = Integer.parseInt(strPid);String action = request.getParameter(action);if(action != null & action.trim().equals(add) String name = request.getParameter(name);String descr = request.getParameter(descr);if(pid = 0)Category.ad

51、dTopCategory(name,descr);elseCategory.addChildCategory(pid,name,descr);out.println(成功);图5.7 后台添加根类别如果通过根类别添加子类别提交过来的话,接收到父类别号pid。由于本页面表单内容是提交给页面本身。所以提交后要判断是否是添加处理要求。这两个数据提交的代码。input type=hidden name=pid value=如果pid=0,就调用Category类中添加根类别的方法addTopCategory(),如果pid不为0,就调用Category类中添加子类别的方法addChildCategor

52、y()。图5.8 后台添加子类别5.2.9 后台商品管理模块后台商品管理模块包括商品的添加,修改等功能。除此之外,管理员也可以对商品进行搜索,然后对搜索到的商品进行操作。 首先要判断添加商品的类别是不是叶子节点,只能在叶子节点下面添加商品。然后将表单数据添加成为Product类的对象p的属性。最后调用ProductMgr类下的addProduct()方法将新添加的商品信息存入到数据库里面。Category c = Category.loadById(categoryId);if(!c.isLeaf()out.println(非叶子节点不能添加商品);return;Product p = new

53、 Product();p.setId(-1);p.setName(name);p.setDescr(descr);p.setNormalPrice(normalPrice);p.setMemberPrice(memberPrice);p.setPdate(new Timestamp(System.currentTimeMillis();p.setCategoryId(categoryId);ProductMgr.addProduct(p);图5.9 后台添加商品商品信息的修改首先通过loadById()方法拿到一个Product类的对象p,然后修改p对象的属性为表单提交过来的信息。最后调用up

54、date()方法将更新后的信息存入数据库。Product p = ProductMgr.loadById(id);p.setName(name);p.setDescr(descr);p.setNormalPrice(normalPrice);p.setMemberPrice(memberPrice);p.setCategoryId(categoryId);ProductMgr.update(p);图5.10 后台修改商品信息商品的搜索为简单搜索和复杂搜索,简单的搜索选择要搜索商品的类别,然后输入关键字进行搜索。首先要将所有叶子节点的类别列出来,成为复选框项。代码如下。% for(Iterator it = categories.iterator();it.hasNext();) Category c = it.next(); if(c.isLeaf()%input type=checkbox name=categoryidvalue=%=c.ge

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