2016网上购物系统-毕业设计_第1页
2016网上购物系统-毕业设计_第2页
2016网上购物系统-毕业设计_第3页
2016网上购物系统-毕业设计_第4页
2016网上购物系统-毕业设计_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、安徽工业大学毕业设计(论文)说明书专 业软件工程班 级122班姓 名周庆梅学 号指导教师许文方二 一六 年 六 月 十六 日安徽工业大学毕业设计(论文)任务书课题名称网上购物系统学 院 计算机科学与技术学院专业班级软件工程122班姓 名周庆梅学 号毕业设计(论文)的主要内容:本系统利用JavaEE开发基于B/S结构的网上购物系统,实现管理员对购物商品的实时更新和用户购物信息的提交。(1)需求分析: 将对购物用户购物流程和卖家对商品的上架流程进行分析,所需的功能模块有哪些。(2)总体设计:将系统划分成两大功能模块:前台和后台。前台功能模块有:注册、激活、登录、搜索、修改密码等模块。后台功能模块有

2、:管理员登录、分类管理、商品管理、订单管理。每一个功能模块实现的具体功能。(3)详细设计:整体设计思想,功能模块图,实体对应的属性E-R图设计,数据库表设计。(4)测试:采用了黑盒测试和白盒测试。指 导 教 师 签 字摘 要随着现代现代信息网络技术的不断发展,互联网市场正在以无法想象的速度和空前的规模迅猛发展,电子商务成为人们关注的焦点,各企业认识到建立企业级的电子商务平台不仅可以拓宽销售渠道,还能提升形象和品牌效应,对企业的发展有着重要的战略意义。在此背景下,网络购物作为新兴的商业模式逐步浮出水面,并在发展过程中备受瞩目。网络购物巨大的市场规模和美好的发展前景不容小视。但是网络购物的繁荣需要

3、时间,需要业界的投入,需要网络的发展。相信中国电子商务在一段时间后会达到国际化水平。网上购物系统,是在网络上建立一个虚拟的购物商场,使您的购物过程变得轻松、快捷、方便,很适合现代人快节奏的生活;同时又有效的控制“商场”运营的成本,开辟了一个新的销售渠道。本系统利用现代化的电子及网络技术,为消费者和企业搭建一个良好的互动平台。让用户享受快捷的购物方式,为企业提供不同于传统销售的崭新的销售模式。 该购物系统是一个中小型的电子商务系统,可以为各类用户提供方便的在线购物环境。用户可以在系统中实现注册、登录、修改个人信息、分类查询商品信息、购物、管理购物车、结账等功能。管理员可以通过后台管理模块实现对商

4、品、物流、订单等后台管理功能。本系统采用servlet和jsp技术,以MySQL为系统数据库开发,整个系统操作简便、界面友好、灵活实用。关键词: 电子商务;网上购物;jsp;servletSummaryWith the development of modern information and network technology, the Internet market is unimaginable speed and on an unprecedented scale rapid development, electronic commerce become attention focu

5、s of each enterprise understanding to build enterprise class e-commerce platform can not only broaden the sales channels, but also enhance the image and brand effect, to the enterprise development the important strategic significance. In this context, online shopping as a new business model graduall

6、y surfaced, and in the development process has been the focus of attention.Online shopping market scale and good prospect not allow to ignoreBut the network shoppings prosperity needs time,need industry input and the development of the networkI believe that E1ectronic Commerce in China will reach th

7、e international level over a period of timeKey words:network shopping,traditional shopping,integrity,policy,security Development.Onlineshoppingsystem,isinthenetworkestablishedavirtualshoppingmalls,makeyourshoppingprocesseasy,fastandconvenient,itissuitableforthefastpaceofmodernlife;andeffectivecontro

8、lthemarketoperationcost,openedthenewsaleschannels. The system uses modern electronic and network technology, to build a good interactive platform for consumers and enterprises. Allow users to enjoy a quick way of shopping, for the enterprise to provide a new sales model is different from the traditi

9、onal sales. The shopping system is a small and medium-sized e-commerce system, can provide users with convenient online shopping environment. Users can achieve registration, login, modify personal information, classification and query product information, shopping, management shopping cart, checkout

10、 and other functions in the system. Administrators can achieve through the background management module of goods, logistics, orders and other background management functions.ThesystemusesEclipse/ASP.NETdevelopmentenvironment,withOracleasthedatabasedevelopmentsystem.Thesystemhastheadvantagesofsimpleo

11、peration,friendlyinterface,flexibleandpractical.Keywords: E-commerce;online shopping;jsp;servlet目 录1 引言11.1 课题研究背景11.2 课题研究意义11.3 课题研究目标22 技术理论32.1 B/S模式32.2 JSP技术32.3 MySQL数据库32.4 JQuery42.5 Javascript42.6 DBUtils42.7 C3P042.8 本章小结43 系统分析53.1 可行性研究53.2需求分析53.3 系统功能模块设计63.4 本章小结74 数据库设计84.1 数据库概念结构设

12、计84.2 数据库表设计104.3 本章小结125 设计与实现135.1 系统的整体设计135.2 前台功能的实现145.2.1注册模块145.2.2 激活模块165.2.3用户登录模块175.2.4订单模块175.2.5修改密码185.3 服务器端的实现195.3.1管理员登录模块195.3.2分类管理模块205.3.3商品管理模块205.3.4订单管理模块215.4本章小结216 系统测试226.1 系统测试工作226.2 系统测试工作226.3 系统测试结果227 结束语237.1 论文的总结237.2 不足23参考文献24致谢251 引言1.1 课题研究背景 网上购物起源于1999年的

13、美国,当时一些大公司通过建立自己的计算机网络实现各个机构之间、商业伙伴之间的信息共享,这个过程被称为电子数据交换。电子数据交换通过传递标准的数据流可以避免人为的失误、降低成本、提高效率,世界上很多大企业都在使用这一技术。它过去是、现在也是网上购物的基础。中国互联网络信息中心前几年发布的中国互联网络发展状况统计报告显示:中国网民规模已突破6亿,全年新增网民近六千万,互联网普及率提升达到百分十四十,手机网民规模达到3.6亿,并且数量在不断上升增长,网络带给人们的方便快捷日益显著。随着互联网越来越广泛地被使用,足不出户地购物变得更吸引人,这时网络购物的优势就更加突出了。网上购物日益成为一种重要的购物

14、形式。购物模式由传统转为网上购物,人们对于网购不再津津乐道,而是成为一种生活习惯。 网上购物变得不再新鲜,一些大型的购物网站每年都会有上亿的成交量。如比较出名的购物网站有:蘑菇街,唯品会,聚划算,京东,淘宝,亚马逊等。网上商店大多是综合的商场,所售商品五花八门,包罗万象。还有一些购物网站只销售单一商品,例如,好乐买只售鞋子。著名的双十一购物狂欢节,成为中国电子商务行业的年度盛事,并且逐渐影响到国际电子商务行业。前年11月11日,阿里巴巴双十一全天交易额571亿元。去年11月11日,天猫双十一全天交易额912.17亿元。可见人们对于网购的热爱和信赖以及网购的流行趋势。本网上购物系统是一套基于数据

15、库的商品产品发布管理系统,可用于商品产品的实时发布以及商品数据管理,前台用户可通过页面浏览,查询和订购产品,后台管理员可以管理产品价格,简介,图片等多种信息。为什么要发明网上购物呢,相对于实体店铺它有什么优势呢?它不仅对于消费者来说是一个福利,对于投资者更是巨大的福音。一项针对中国中小企业的情况调查显示,个人在网下建成实体商店的平均费用至少需要5万元,而网上开店建店成本非常小。筹办一家网上商店不用去租门面,不用去办营业执照,不用囤积货品;同时租金不会因为营业面积的增加而增加,投资者也不用为延长营业时间而增加额外的费用;网上商店延长了店铺的营业时间,一天24小时、一年365天不停地运作,无须专人

16、值班看店,都可照常营业;网上商店的销售规模不受地盘限制,即便在地面上只有一个小商店,或者干脆就没有门面,开店的生意却可以照样做得很大,只要投资者愿意,可以摆上成千上万种商品。目前国内最大的拍卖网站同时在线的商品要超过10万件,已超过一些大超市。另外网上商店比同等规模的地面商店“租金”要低得多。而传统商店要租门面,办营业执照,囤货;营业时间一般为8-12小时,遇上坏天气或者老板、店员有急事也不得不暂时休息; 传统商店有多大就只能摆放多少商品,生意大小常常被小店面积限制。所以网店是低投资创业人士首选,所需资金不过1500元左右,建成一个网店所需时间也少了不止一半,省钱省力。是一种低投资回收快的创业

17、类型,深受广大用户的喜爱。1.2 课题研究意义购物指在消费者挑选或购买货品或服务的行为,可视为一种经济和休闲活动。很早之前,人们在当地的商店或商场购买自己需要的东西。购买行为需要你有一定的时间,需要花费精力,金钱。害怕孤单的人有时需要一个陪逛者。当你急需某件物品的时候,没有时间,懒得动弹,不想一个人出去的时候,就会发现现在的网购是一种多么伟大发明。于消费者来说:在家“逛商店”,可以不受时间、地点的限制订货,只要你有网络,有一部手机或电脑,就可以享受购物的乐趣,不但可以获得较大量的商品信息,买到当地没有的商品,从订货、买货到货物上门无需亲临现场既省时,又省力;网上支付较传统拿现金支付更加安全,可

18、避免现金丢失或遭到抢劫;网上商品由于省去租店面、招雇员及储存保管等一系列费用,总体其价格较一般商场的同类商品更实惠;很多人喜欢在网上购买成人用品,这样可以保护个人隐私,免去去实体店的尴尬难堪。对于商家来说:由于网上经营成本低、销售库存压力较小、经营规模不受场地限制等优点,深受广大企业的喜爱。将来会有更多的企业选择在网上销售,通过互联网对市场信息的及时反馈适时调整经营战略,以此提高企业的经济效益和参与国际竞争的能力。对于整个市场经济来说:网上购物这种新型的购物模式可在更大的范围内、更广的层面上以更高的效率实现资源配置。综上可以看出,网上购物突破了传统商务的障碍,无论对消费者、企业还是市场来说都存

19、在着巨大的吸引力和影响力,在新经济时期无疑是达到“多赢”效果的理想模式。1.3 课题研究目标由于网上购物的巨大魅力和潜力,本设计旨在设计当下流行的购物系统。本设计的研究目标是利用JavaEE开发基于B/S结构的网上购物系统,实现管理员对购物商品的实时更新和用户购物信息的提交,具体包括:1. 本系统可以利用互联网的快捷性,使人们可以在家购物,避免了传统的出门购物带来的大量时间和空间的浪费,带给人们便捷,增加物品的购买率。2. 系统支持人们修改个人信息,浏览商品、搜索商品,添加购物信息,支付结账。3. 系统带有管理员登陆模式,商家可以便捷地对商品进行更行,分类等操作。2 技术理论2.1 B/S模式

20、B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起之后出现的一种网络结构模式,它与C/S的最大区别就是不用安装任何第三方软件,只需要一个WEB浏览器就可以运行。它将客户端统一起来将系统功能发布到服务器上,大程度上简化了系统的开发使用,更有利于推广。B/S的优势在于任意一台客户机都有浏览器,而客户不需要下载安装任何软件就可以使用。这样使得客户无论走到什么地方,只要有一台任意的客户机,他们就可以随时随地的输入地址进入软件系统。而且增加功能也简单方便,开发人员只需要通过增加网页就可以增加服务器的功能了。更重要的是维护简单方便,开发人员不用到现场,客户机软件也不用更新到最新,

21、只需要改变网页,就可以实现所有用户软件功能的更新。B/S模式的图解如图2-1所示:图2-1 B/S模式图解2.2 JSP技术JSP(JavaServerPages)技术是由servlet技术发展起来的,刚开始程序员都是通过servlet往html页面中写代码,可是在实践当中发现,所有html语言都通过out.println()这样写在html当中会非常的麻烦,所以渐渐演变出了一门新的技术,就是JSP技术。JSP技术是程序员的福音,简化了程序员的大量工作。2.3 MySQL数据库MySQL是一个可用于各种常用操作系统平台的关系型数据库,而且它在诸如UNIX这样的操作系统上,是一个免费开源的数据库

22、软件。MySQL被完全用于网络,用MySQL创建的数据库可以在英特网上的任何地方都可以访问。因此,可以在网络上任何地方共享数据库。其次,MySQL数据库拥有占用内存小、安装快捷、安全性好等优点,将其装在个人电脑上用于小型的数据存储是最适合不过的了。2.4 JQueryjQuery是一个兼容多浏览器的javascript框架,核心理念是write less,do more(写得更少,做得更多)。jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由Dave Methvin率领团队进行开发。如今,jQuery已经

23、成为最流行的javascript框架,在世界前10000个访问最多的网站中,有超过55%在使用jQuery。jQuery是免费、开源的,使用MIT许可协议。jQuery的语法设计可以使开发者更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能。除此以外,jQuery提供API让开发者编写插件。其模块化的使用方式使开发者可以很轻松的开发出功能强大的静态或动态网页。2.5 JavascriptJavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应

24、用户的各种操作。它最初由网景公司(Netscape)的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。Javascript语言与Java语言在语法上比较相似,但随着对Javascript的深入了解后你会发现,它们是两种语言。2.6 DBUtilsCommon Dbutils是操作数据库的组件,对传统操作数据库的类进行二次封装,可以把结果集转化成List。传统操作数据库的类指的是JDBC(java database connectivity:java数据库连接,java的数据库操作的基础API。)DBUtils是java编程中的数据库操作实用工具,小巧简单实用,特色

25、:1.对于数据表的读操作,他可以把结果转换成List,Array,Set等java集合,便于程序员操作;2.对于数据表的写操作,也变得很简单(只需写sql语句)3.可以使用数据源,使用JNDI,数据库连接池等技术来优化性能-重用已经构建好的数据库连接对象,而不像php,asp那样,费时费力的不断重复的构建和重构这样的对象。2.7 C3P0C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。2.8 本章小结本章主要介绍了网上购物系统所用到的技术基础,通过基础介绍凸显出了这些技术的优势

26、,为选择这些技术的原因奠定理论基础。3 系统分析3.1 可行性研究可行性研究阶段通过对系统目标进行市场调研和技术分析,提出了初步的可行性方案并进行了论证。这里主要从技术可行性、经济可行性两方面进行分析。1. 技术可行性技术可行性要考虑到现有的技术手段和能力能不能完成系统的开发,以免开发到一半出现现有技术无法解决的问题。本系统主要采用的是JAVA语言和JSP技术,jdom解析xml。JAVA语言和JSP都是很成熟的技术,也是世界范围内应用最广泛的技术,所以用它们作为后台和前台的语言是没有任何问题的。而且集成开发工具MyEclipse可以解决很多方面的问题,创造了良好的开发环境。由于JSP、Ser

27、vlet功能强大,而MySQL灵活易维护在开发方面具有方便快捷、使用灵活的特点,以及目前的广泛实际应用,因此使用JSP、Servlet、MySQL是开发轻平台的最佳组合从而说明本系统在技术方面可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。2. 经济可行性该系统硬件只需要一台PC机,而且配置要求不高。软件方面用到的MySQL是免费开源的,MyEclipse也是免费使用的,所以开发成本并不高。而该系统若投入运行之后不仅减少了人力、物力而且可以推动电影行业的发展,所带来的收益是巨大的,因此在经济上也是可行的。

28、3.2需求分析此网络购物平台系统旨在为用户提供一个简易的具备一些基本功能的购物系统,通过这个系统用户可以轻松的获得自己想要的商品。存在两种类型用户,普通用户和管理员用户。普通用户在这个系统中注册过后进行登陆此时可以对个人资料进行修改,同时可以在平台中进行自由的选购自己想要的商品,将选购好的商品加入购物车,如果需要修改可以在购物车中更改所需的商品数量,当选择完成过后可以确认购买,也可以让所选物品一直处在购物车中,等待下次登陆时依然有效。管理员用户可以对商品进行管理,包括商品上架,商品下架,商品查询,商品修改等。本节将对网上购物系统进行需求分析和模块设计,本系统分为前台和后台两大模块,下面进行详细

29、分析:前台(普通用户)部分:1 用户管理:注册会员、登录、激活、退出、修改密码;2 分类显示:显示所有一级和二级分类;3 商品显示:按分类查询商品、通过关键字搜索商品、高级搜索商品、查看某本商品的详细等;4 购物车管理:向购物车中添加商品、修改购物车中商品数量、删除购物车中商品、我的购物车;5 订单管理:通过购物车中商品生成订单、查看我的订单、查看某个订单的详细、订单支付、确认收货、取消未付款订单。后台(管理员管理)部分:1 管理员:管理员登录;2 分类管理:查看所有分类、添加1级分类、添加2级分类、修改1级分类、修改2级分类、删除1级分类、删除2级分类;3 商品管理:按分类搜索商品、高级搜索

30、商品、添加新商品、查看商品详细信息、编辑商品、删除商品;4 订单管理:按状态搜索订单、查看订单详细信息、取消订单、发货;3.3 系统功能模块设计根据系统功能分析,可以画出系统的功能模块图。前台功能模块图如图3-1所示:图3-1 前台功能模块图后台管理员功能图如图3-2所示:图3-2 后台管理员功能模块图3.4 本章小结本章主要是做系统概要设计的前期工作,包括可行性分析、需求分析等,也是很重要的一个环节。在实际工作中,这部分一定要做好分析设计,因为需求分析没有做好则接下来的工作都不能进行下去。以上内容基本确定了本系统需要完成哪些功能,也把整个系统划分成了几个模块,而且基本确定了各个模块需要完成的

31、功能,为接下来的概要设计工作奠定了基础。4 数据库设计4.1 数据库概念结构设计每个实体都有它所拥有的属性,以下列出本系统涉及的所有实体和它们的属性。该购物系统全局E-R图如下:图4-1 系统全局E-R图本系统设计规划的主要实体有:用户、管理员、商品、商品分类、购物车、订单。各个实体具体的描述属性图如下(由于属性过多,实体属性在下图中并没有全部给出):(1)用户信息用户有两种身份,一种是普通用户还有一种是管理员,管理员和用户只有身份上的差异,所以在这里把管理员和用户看做一个实体对象,实体对象属性如图4-2所示:图4-2 用户信息 (2)商品信息网上购物系统,所以肯定有商品这个实体,这个实体的属

32、性必定有商品名称、商品介绍、商品价格和生产商等,这里为了简化对象仅列出以下属性如图4-3所示,它们是一个商品所包含的最基本的信息。图4-3 商品信息 (3)商品类别信息为了商品搜索方便,需要对商品进行类别分类,这里把类别看做一个实体对象,一个类别包含的信息如下所示。图4-4 商品类别信息 (4)购物车信息购物车是购物项的集合,多个购物项构成了购物车。图4-5 购物车信息 (5)订单信息 订单是订单项的集合,多个订单项构成了订单。图4-6 订单信息4.2 数据库表设计数据库表设计主要是把概念结构设计时设计好的基本E-R图转换为与数据模型相符合的逻辑结构。它包括数据项、记录及记录间的联系、安全性和

33、一致性约束等等。导出的逻辑结构是否与概念模式一致,从功能和性能上是否满足用户的要求,要进行模式评价。本系统数据库表如下:表4-1 用户表t_user字段名称数据类型主键是否空说明uidchar(32)YN主键loginnamevarchar(50)NN登录名loginpassvarchar(50)NN登录密码emailvarchar(50)NN邮箱地址statusbooleanNN是否激活activationCodechar(64)NN激活码(唯一)表4-2商品类别表t_category字段名称数据类型主键是否空说明cidchar(32)YN主键cnamevarchar(50)NN分类名称pi

34、dchar(32)NY父分类IDdescvarchar(100)NY分类描述orderByintNY序号,用来排序表4-3商品表t_goods字段名称数据类型主键是否空说明bidchar(32)YN主键bnamevarchar(200)NN书图名称authorvarchar(50)NY作者pricedecimal(8,2)NY定价currPricedecimal(8,2)NY当前价discountdecimal(3,1)NY折扣pressvarchar(100)NY出版社publishtimechar(10)NY出版时间editionintNY版次pageNumint NY页数wordNumi

35、ntNY字数printtimechar(10)NY印刷时间booksizeintNY开本papervarchar(50)NY纸质cidchar(32)NY所属分类IDimage_wvarchar(100)NY大图路径image_bvarchar(100)NY小图路径orderByintNY序号,用来排序表4-4 购物车t_cartitem字段名称数据类型主键是否空说明cartItemIdchar(32)YN主键quantityintYN数量bidchar(32)YN商品IDuidchar(32)YN用户IDorderyByintYN序号,用来排序表4-5 订单t_order字段名称数据类型主键

36、是否空说明oidchar(32)YN主键ordertimechar(19)YN下单时间totaldecimal(10,2)YN合计金额statusint YN订单状态addressvarchar(1000)YN收货地址uidchar(32)YN用户ID表4-6 订单数量t_orderitem字段名称数据类型主键是否空说明orderItemIdchar(32)YN主键quantityintYN数量subtotaldecimal(8,2)YN小计bidchar(32)YN商品IDbnamevarchar(200)YN商品名称currPricedecimal(8,2)YN商品当前价image_bva

37、rchar(100)YN商品小图路径oidchar(32)YN所属订单ID表4-7 管理员t_admin字段名称数据类型主键是否空说明adminIdchar(32)YN主键adminnamevarchar(50)YN管理员名称adminpwdvarchar(50)YN管理员密码4.3 本章小结本章确定了各个实体,形象的表现了各个实体的属性以及实体之间的关系。并详细设计了各个表的结构,为数据库的建表和主代码的编写奠定了基础。5 设计与实现5.1 系统的整体设计该购物系统前台面向消费者,因此不仅要系统稳定、功能强大,不能出现大的漏洞bug,支付时还要足够安全,保障消费者的财产安全。还要能简洁、方便

38、操作,有基本的浏览商品购物功能,编辑资料功能,购物功能,让用户感受到完整的购物流程便捷的操作体验。本系统采用青春活泼的青色作为主色调,外观清新美好,简洁大方。前台的主要功能模块包括注册模块,登录模块,检索商品模块,购买商品模块,购物车模块,我的主页模块等。用户在没有登录注册的时候,可以浏览商品,若想购买必须先登录。没有账号的可以点击登录模块右上方的立即注册按钮进行注册。登陆之后用户可以把商品加入购物车,然后进行购买。还可以享受查看订单,修改密码等功能。前台系统首页如下图5-1所示(部分):图5-1 前台系统首页图后台系统可以在首页的管理员登录按钮点击进行登录,登陆之后的界面如下。后台是管理员进

39、行商品上架,编辑或删除等操作管理的一个平台。管理员还可以对商品的分类进行管理,添加一级分类,添加二级分类,添加分类描述,或者删除分类,删除一级分类前要删除完一级分类底下的二级分类,否则提示报错。对订单进行管理,可对订单进行查看,取消未付款订单,对已付款订单进行发货,删除已取消订单,对交易成功订单进行统计。后台系统首页如图5-2所示(部分):图5-2 后台系统首页图5.2 前台功能的实现前台系统分为如下模块:注册模块、分类模块、商品模块、购物车模块、订单模块。User类作为实体类需要与数据库表对应,即t_user表对象。而且User类还要用来封装表单数据,所以User类还要与表单对应。User类

40、对照着t_user表来写。要保证User类的属性名称与t_user表的列名称完全相同。UserDao封装了对数据库的基本操作。UserDao需要使用TxQueryRunner来完成对数据库的操作。UserService封装了业务功能,在UserService中每个方法对应一个业务功能,例如:注册方法、登录方法等等。一个业务方法可能需要多次调用DAO中的方法。所以,Service依赖Dao,我们需要在UserService中给出一个UserDao类型的成员。UserService.javapublic class UserService private UserDao userDao = new

41、 UserDao();UserServlet用来接收客户端请求,处理与Web相关的问题。例如获取客户端的请求参数,然后转发或重定向等。在UserServlet中完成业务功能需要使用UserService,所以我们需要在UserServlet中给出一个UserService的成员。可以让一个Servlet中有多个请求处理方法,让UserServlet继承BaseServlet。UserServlet.javapublic class UserServlet extends BaseServlet private UserService userService = new UserService(

42、);下面将详细介绍各模块的实现思路和方法。5.2.1注册模块图5-3 注册界面图注册页面从首页的注册按钮点击进入。代码在jsps-user底下的regist.jsp。我们需要在regist.jsp页面中对表单数据使用JQuery进行校验。当用户在文本框中输入数据后,光标离开文件框时对数据进行校验。如果校验未通过,会在文本框后台显示错误信息。函数中首先判断用户名是否为空,为空则提示“用户名不能为空”,然后判断用户名字符长度是否在3到20之间,若用户名已被注册则需要异步访问服务器;然后进行登录密码校验:密码不能为空,密码长度必须在3 10之间;确认密码校验:确认密码不能为空,两次输入不一致则会提示

43、“两次输入不一致”;Email校验:Email不能为空,格式要正确即邮箱的名称加加邮箱的归属,描述为(/(a-zA-Z0-9_-)+(a-zA-Z0-9_-)+(.a-zA-Z0-9_-2,3)1,2)$/);若Email已被注册,则提示该邮箱已被注册,这需要异步访问服务器;验证码校验:验证码不能为空,验证码要与图片中出现的数字或字母相同,否则提示验证码错误。验证码看不清时可以点击验证码左方的换一张字样更换。当点击“立即注册”按钮时,还要对表单每项进行校验。因为一开始可能填写了正确的验证码,所以光标离开时没有错误,但用户又点击了“换一张”链接,这时填入的验证码就是错误的了,所以我们需要在提交表

44、单时再次进行校验。regist.jsp页面中有异步请求服务器来对表单进行校验:校验登录名是否已注册过;校验Email是否已注册过;校验验证码是否正确。在UserServlet中需要提供相应的方法来支持前端的请求,如获取验证码和校验,下面是部分代码。 1. 获取输入框中的验证码String verifyCode = req.getParameter(verifyCode); 2.获取图片上真实的校验码 String vcode = (String)req.getSession().getAttribute(vCode); 3.进行忽略大小写比较,得到结果boolean b = verifyCod

45、e.equalsIgnoreCase(vcode); 4. 发送给客户端resp.getWriter().print(b);return null; 验证码校验String verifyCode = formUser.getVerifyCode();String vcode = (String) session.getAttribute(vCode);if(verifyCode = null | verifyCode.trim().isEmpty() errors.put(verifyCode, 验证码不能为空!); else if(!verifyCode.equalsIgnoreCase(v

46、code) errors.put(verifyCode, 验证码错误!);return errors;相应的,在UserDao和UserService中也需要提供方法。当表单校验通过后,客户端会请求UserServlet#regist() 方法。5.2.2用户登录模块login.jsp为登录页面,与注册一样需要做前端表单校验。图5-4 登陆界面图登录模块提供用户名的非空校验和长度校验,密码的非空校验和长度校验,验证码的非空校验和是否正确校验。依照regist.js来完成登录表单的校验。在用户名文本框中显示cookie中保存的loginname,就是所谓的记住用户名。当用户登录成功后,会把当前用

47、户的名称保存到cookie中,当用户再次到登录页面时,会在文本框中显示用户名。$(function() var loginname = $user.loginname = null ? cookie.loginname.value : user.loginname;loginname = window.decodeURI(loginname);$(#loginname).val(loginname););因为上面代码中使用了EL表达式,所以一定要放到JSP页面中才可以。5.2.3购物车模块图5-5 购物车界面图对购物车操作的前提是登录,购物车属于特定用户,这里使用登录校验过滤器来进行校验,过滤

48、的资源包括:CartItemServlet,以及/jsps/cart目录。LoginFilter.java中部分代码如下:public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException HttpServletRequest req = (HttpServletRequest) request;Object sessionUser = req.getSession().getAttribute(sessionU

49、ser);if (sessionUser = null) req.setAttribute(code, error);req.setAttribute(msg, 您还没有登录!);req.getRequestDispatcher(/jsps/msg.jsp).forward(request, response); else chain.doFilter(request, response);登陆之后,用户浏览商品,看见心仪的商品可以点击购买。若没想好是否购买可以返回继续浏览商品。浏览完之后可以在首页上部点击“我的购物车”链接查询购物车。购物车列表页面会显示所有车中所有条目,每个条目会显示商品图

50、片、商品名称、商品当前价格、数量,以及小计。本系统中对购物车的操作如下:1. 添加购物车中的购物项目;2. 修改购物车项目的数量;3. 批量删除项目;4. 查看我的购物车;5. 显示被选中的购物车项目,准备生成订单;5.2.4订单模块订单模块的功能只有登录用户才能使用,所以需要在LoginFilter中添加对订单模块页面,以及Servlet的过滤。查看订单详细是从/jsps/order/list.jsp开始,点击“订单编号”、“查看”、“取消”、“确认收货”链接,都会查看订单详细。最终到达/jsps/order/desc.jsp页面显示订单详细信息,点击不同的链接到达/jsps/order/d

51、esc.jsp页面显示不同的按钮。例如,点击“取消”按钮,到达desc.jsp显示“取消”按钮;点击“确认收货”链接到达desc.jsp显示“确认收货”按钮;如果点击“查看”链接,并且订单状态为“未付款”,那么显示“支付”按钮。订单的状态有5种:1. 未付款,刚刚生成的订单就是未付款状态;2. 未发货,订单支付后为已付款,但未发货状态;3. 未确认收货:当后台管理员发货后,但前台用户没有确认收货时;4. 交易成功:当用户确认收货后,订单结束,为交易成功状态;5. 已取消:未付款状态的订单是可以取消的,其他状态不行。5.2.5修改密码图5-6 修改密码界面图用户在登录成功后,点击修改密码链接就会

52、到达修改密码页面。因为表单中包含新密码,而User类中没有这一属性,所以修改User类,添加newpass属性。需要为UserServlet#validateLoginpass()方法,用来支持表单异步请求。表单校验使用JQuery完成。其中原密码和验证码是否正确,需要异步访问服务器。原密码:不能为空;长度必须在215之间;是否正确。新密码:不能为空;长度必须在215之间;确认密码:不能为空;必须与新密码相同;验证码:不能为空;是否正确。UserServlet.javapublic String updatePassword(HttpServletRequest req, HttpServle

53、tResponse resp)throws ServletException, IOException 1. 封装表单数据到UserUser formBean = CommonUtils.toBean(req.getParameterMap(), User.class); 2. 调用userService的updatePassword(String uid, String newpass)方法修改密码User user = (User) req.getSession().getAttribute(user);userService.updatePassword(user.getUid(), formBean.getNewpass(); 3. 转发到msg.jspreq.setAttribute(code, success);req.setAttribute(msg, 恭喜,密码修改成功!);return f:/jsps/msg.jsp;5.3 服务器端的实现Service和Dao与前台共享即可,无需再创建,而Servlet需要单独创建。后台商品管理功能有:分页查看指定分类的商品、分页查看指定条件的商

温馨提示

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

评论

0/150

提交评论