版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、晋 中 学 院 本科毕业论文(设计)题 目 基于java的网上购物 系统的设计与实现 院 系 计算机科学与技术 专 业_ 计算机科学与技术 (网络工程方向) 姓 名 聂 澎 学 号 0 9 1 1 1 2 2 1 2 6 学习年限2009年9月至2013年7月指导教师 李俊丽 职称 讲师 申请学位 学士学位 2013年 5 月 15 日基于java的网上购物系统的设计与实现学生姓名:聂澎 指导教师:李俊丽摘 要:本系统是尝试用jsp在网络上架构一个动态的电子商务网站,它是在windows 7下,以mysql为数据库开发平台,tomcat网络信息服务作为应用服务器,基于j2ee多层体系结构,应用
2、java、struts、hibernate等技术开发的网上购物系统。系统分注册与登录部分和购物车部分,注册与登录部分主要包括用户注册与登录功能;购物车部分主要包括购物车添加商品,删除商品,修改商品数量等功能。建立后的网站系统是一个动态、交互式、具有用户登陆与注册、购物车删除与恢复、订单生成等功能的电子商务网站。关键词:java;jsp;ajax;mysql;strutsdesigned in the online shopping system based on jspauthors name: niepeng tutor: lijunliabstract :the system is try
3、ing to use java in a dynamic network of e-commerce websites structure, which is in windows 7, mysql for database development in platform, tomcat application server as a network information services, use java、struts、hibernate、spring technology development online shopping system. prospects and the bac
4、kground of some of his hours, the prospects of users, including users registered, a shopping cart management, order management, personal information management, message board management functions; background in part by managers, including commodity management, processing orders, customer information
5、 management, inform- ation management, and other functions links. after the establishment of the website is a dynamic, interactive, with commodities, systems management, voice mail, and other functions of the e-commerce website users. keywords:java;jsp;ajax;mysql;struts目 录1 引言11.1 研究背景11.2 研究现状11.3
6、发展趋势12 系统概述22.1网站的设计目标22.2 网站的可行性22.3 系统的主要架构及开发模式32.4 系统主要技术简介43 系统功能需求43.1 系统功能需求43.2 系统流程分析54 系统数据库设计74.1 数据库需求分析74.2数据库中各表间关系85 系统详细设计85.1 用户注册与登录85.2 购物车管理95.3 订单生成106 系统测试116.1 系统关键部分测试分析116.2 测试分析总结及说明116.3 系统的性能分析126.4 系统的整体设计和规划中的问题126.5 开发功能模块所遇到的难点126.6 系统中存在的问题及拟定的解决方法137 结束语14致谢15参考文献16
7、1 引言1.1 研究背景随着全球信息网络的发展,internet在世界上已不仅仅是一种技术,更重要的是它已成为一种新的经营模式,彻底改变了人类工作,学习,生活,娱乐的方式,已成为国家经济和区域经济增长的主要动力。internet正成为世界最大的公共资料信息库,它包含无数的信息资源,所有最新的信息都可以通过网络搜索获得。更重要的是,大部分信息都是免费的,应用电子商务可使企业获得在传统模式下所无法获得的巨量商业信息,在激烈的市场竞争中领先对手。因此,本设计是通过jsp语言来实现,一个基于b/s模式三层结构的网上购物网站网站1。1.2 研究现状在国内的网上商城:1、起步晚、数量却非常多。虽然我国的网
8、上商城起步的很晚,但是发展却很迅速,根据某调查网站上的数据可知,到目前具有网上商城的性质的网站达12000之多,但是能够真正满足消费者购物要求的却不多。2、 支付和安全认证上的客观技术原因,导致用户完成电子商务交易变得相当复杂,使大部分用户还没等交易完成就已经退避三舍了,所以开发一个安全又操作简单的网上商城难度很大。3、由于很多网上商城商家一开始都想把自己的网站做到成亚马逊那种境界,这导致很多网站只对商城货物的品种和数量上加以扩张,却不对数据查询技术加以改进,这使很多网站在用户浏览的时候速度很慢或者交易的过程中时间太长。4、很多网上商城跟用户的交流很少,开发出来的网站,却不适合大部分用户的要求
9、。1.3 发展趋势随着电子商务环境的改善,以及电子商务所具备的巨大优势,电子商务正在以惊人的速度在发展并且逐渐渗透到社会生活中的每一个领域。而在人口最多的中国,近年来网购这一趋势也变的愈加明显。越来越多的年轻人也选择在网上开店创业,许多消费者也觉得在网上购物比较便宜。目前为止,网购在中国仍有很大的发展空间。2 系统概述我所设计和开发的网上购物平台主要特点是采用web技术,借助于internet互联网广泛应用技术,从而实现信息化,规范化,系统化,网络化的平台,使整个购物活动过程简单、方便、易行。该平台功能如下:1、能够完成用户基本信息录入的注册和用户基本信息的个人管理。2、能够完成对网站的购物车
10、商品资料(商品添加与删除、商品修改)等功能达到对购物车的管理。3、能够通过查看购物车对所选商品进行确定、挑选,通过定单查询对支付费用进行确定。2.1网站的设计目标本平台利用现在比较广泛的jsp+mysql数据库的架构实现的,此系统分为用户部分和购物车部分。用户部分是友好的操作界面,包括:用户登录,用户注册,浏览商品、购买商品等功能;购物车部分包括:商品管理(商品添加与删除、商品修改)等。系统设计的总体规则如下:1、简单性:在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个网站来说是非常重要的。2、针对性:该平台设计是网上购物系统及后台管理的定向开发设计,所以具有专业突出和很强的针对性。
11、3、实用性:该平台能完成电子商品展示和管理员管理的基本信息,具有良好实用性。2.2 网站的可行性1、经济可行性 该平台设计只是作为本人的毕业设计,又因为本人的设计能力有限,其功能还不能完善,所以没有什么经济效益可谈。2、技术可行性jspservlet+ssh的技术已经较为成熟。3、运行可行性该系统需要搭建jvm即java虚拟机和tomcat环境,在此环境下,还需要在正确连接数据库后可以正常运行。通过以上的可行性分析,我将采用jspservlet+ssh相结合的技术,运用数据库对网站进行建设2。2.3 系统的主要架构及开发模式系统的建设关键在于其所使用的b/s基于浏览器的架构。 b/s基于浏览器
12、的架构则是目前网络系统应用的主流,它将大量的数据处理工作交给服务器端来处理,客户端只用通过普通的ie浏览器即可访问系统,方便快捷而且利于系统的更新和维护,java语言在该方面更是得天独厚,j2ee规范的出现则使系统的开发更加规范,层次更加清楚,更利于对复杂事务的处理,而且在安全性方面也做的更好。基于mvc的开发流程则使开发过程更加清晰明了,利于做一些复杂的逻辑实现,从而节省了开发周期和开发成本3。在b/s体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。b/s结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务
13、器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由web server完成。这种三层体系结构如图2-1所示。 browse浏览器web服务器数据库 图2-1 三层体系结构图这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子苗条了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序
14、的更新工作。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。2.4 系统主要技术简介ssh 为 struts+spring+hibernate的一个集成框架,是目前较流行的一种web应用程序开源框架。集成ssh框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,搭建结构清晰、可复用性好、维护方便的web应用程序。其中使用struts作为系统的整体基础架构,负责mvc的分离,在struts框架的模型部分,控制业务跳转,利用hibernate框架对持久层提供支持。本系统的具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的java对象
15、,然后编写基本的dao接口,并给出hibernate的dao实现,采用hibernate架构实现的dao类来实现java类与数据库之间的转换和访问。系统的基本业务流程是: 在表示层中,首先通过jsp页面实现交互界面,负责传送请求和接收响应,然后struts根据配置文件将actionservlet接收到的request委派给相应的action处理。在持久层中,则依赖于hibernate的对象化映射和数据库交互,处理dao组件请求的数据,并返回处理结果。采用上述模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库
16、的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,大大提高了开发效率4。3 系统功能需求3.1 系统功能需求网上商城共分两个部分,一部分是用户部分,包括:顾客在线注册、登陆、购物、提交订单、付款等操作;另外一部分是购物车管理部分,这部分的内容包括:产品的添加、删除、恢复、生成订单等。3.2 系统流程分析1、前台购物时流程浏览商品选择商品订购商品去购物车收货地址提交订单未注册用户已登录注册用户未登录注册用户注册登录图3-1 前台购物流程2、注册功能流程注册入口email地址有效密码是否一致?密码长度符合要求?必填项为空?其他信息有效?注册成功图3-2 用户注册流程
17、3、用户登录流程否否是是登录入口用户名是否可用密码是否有效获得用户名和密码将user添加到session登陆成功图3-3 用户登录流程图4、商品管理流程图商品管理查询商品修改删除满意否返回添加商品是否3-4商品管理流程图5、购物车流程购物车查看商品满意吗下订单调整商品是否图3-5 购物车流程图4 系统数据库设计4.1 数据库需求分析数据库中总共有八张表分别为:1、d_user用户信息表存储用户的基本信息。包含用户登录、用户注册功能。2、d_receive_address用户地址信息表存储用户使用过的地址信息。包含填写送货地址功能。3、d_category产品类别信息表存储产品的类别信息。包含主
18、界面类别菜单功能。4、d_product产品基本信息表存储了各类型产品的基本共通信息。5、d_book图书信息表存储了图书特有的信息。6、d_category_product产品类别和产品对应关系表存储了某个类别包含了哪个商品的关系信息。.7、d_order产品订单信息表存储了订单的基本信息。8、d_item订单明细表存储了某个订单所购买的产品信息。4.2数据库中各表间关系图4-1各表间关系图5 系统详细设计5.1 用户注册与登录1、用户注册当用户第一次登录时首先要注册,成为会员后,才可以购买物品.用户可以通过单击首页的注册按键来打开注册页面进行会员注册操作。为了便于管理网站对用户的管理,在用
19、户注册页接收到的注册信息要经过严格的过滤,保证注册用户的唯一性,在提交表单后需要对数据表中的数据进行查询,如果没有找到,则在插入数据表时提示注册成功,否则提示用户以被占用,请重新注册5。用户注册界面如图5-1所示。图 5-1 用户注册界面2、用户登录用户登录窗口设置在首页上,主要用来接收用户输入的用户名和密码,并更新用户在网站中的状态信息。网站首页在用户第一次访问时会判断用户是否登录,未登录则显示用户登录窗口,提示用户登录或注册.对于已经登录的用户,在用户登录窗口将显示用户的相关信息.首页主要是根据保存用户名信息的session参数来判断用户是否已经登录的。5.2 购物车管理1、购物车模块添加
20、购物车就是把用户选中的商品放在购物车中。当用户在前台首页中单击商品展示区的“购买”按钮时,系统会将该商品的详细信息展示在查看物品清单页中。用户在单击物品清单页面下方的“购买”链接,便可将商品放入购物车。2、查看购物车为了方便用户随时查看购物情况,在网站的首页加入了查看购物车链接,通过它可以将所选物品信息放入购物车中显示出来。在程序中使用一组文本框记录用户购买的商品数量,用户可以在文本框中输入想要购买的数量然后单击修改按钮。如果要删除物品,可以点“删除”,并单击修改按钮来更新购物车中商品的数量6。购物车界面如图5-2所示。图5-2 购物车界面3、清空购物车清空购物车是指当用户订单生成后,倘若还想
21、继续购物,一定要清空购物车在进行选购商品,这样防止重复购物。清空购物车只需要将session 中存储的对象清空即可。5.3 订单生成在生成订单模块中主要使用了调出用户信息并根据订单生成的时间生成唯一订单号,调出用户信息就是完全的对数据库进行操作,利用session 对象把登陆后的用户名保存起来,在订单生成时把保存的用户名从数据库的用户表中取出即可。订单生成界面如图5-3所示。图5-3 订单生成成功界面6 系统测试6.1 系统关键部分测试分析系统完成之后,对各个模块的功能进行了详细的测试,输入数据和预测输出数据相比,发现了一些问题。主要是在查询过程中预计查询结果和实际结果不一致,有时候达不到目的
22、,对数据库的操作表之间的关联考虑得不够周到,因此往往会出现一些小的错误。还有查询条件的前后数据类型不一致也是一个很常见的错误,需要靠一步步的查找解决。各个模块组装完成后,又会出现一些问题。比如在操作购物车结帐的这个流程中,由于是多次添加和修改,最后结帐,所以很容易造成数据混乱,必须对相应的数据关系理清楚,一些关键查询统计的sql语句必须反复斟酌才能放在程序中使用。 6.2 测试分析总结及说明在测试过程中,我经过模块测试和组装测试,排除了系统的大部分错误。当然排除所有错误是不太可能的,我想应该还有些不易检测到的错误还没有被发现,需要在使用的过程中进一步的完善,数据库的加密是一个重要的概念,在实际
23、的应用过程中是一个尚待解决的问题,应该做好数据库的完善工作,特别是备份和安全工作;另一方面本系统没有制作相关的打印,由于时间仓促难免有错误和不完善的地方,希望老师能够帮我指点和纠正。6.3 系统的性能分析网上购物系统的性质决定了它的服务端工作负荷比较大,这就要求服务端的硬件配置要尽可能的高,主要是内存,而且操作系统也要尽可能的稳定。基于java的系统一般来说网络安全性比较好,但并不能说就一定安全,尤其在windows操作系统下,由于windows的漏洞比较多,系统装配在windows下并不是最佳的选择,如果有条件,建议可将系统装配在unix操作系统下,提高系统的抗侵入能力。系统的核心数据库,随
24、着数据的不断增多,必然会产生冗余,导致系统运行效率降低,建议管理员定期备份和清理冗余数据,以保证系统的正常高效运行。6.4 系统的整体设计和规划中的问题由于是基于b/s的系统,网页在其中就承担着非常大的工作,包括向服务端后台写入和修改数据,以及服务端响应客户端的请求,向客户端页面返回数据,这些工作不可能只由几个网页来完成,但网页数量一多又必然结构混乱,造成开发过程难以控制。为解决这个问题,我采用了现代软件开发过程的模块化思想,先将系统功能进行分解成几个部分,各个部分又由许多小的页面组成,这样一来虽然网页数量没有减少,但结构清晰了很多,在开发过程中可以逐步,逐个模块的实现,提高了开发效率。6.5
25、 开发功能模块所遇到的难点因为是第一次做这么完整的系统,所以碰到的问题也很多,除了一些基本的语法之外,感觉还是一些考虑问题的思维方式不太得当,比如我的这个网上购物系统,我感觉难度比较大的还是购物车这个模块比较的难设计,因为过程比较复杂,他的一些逻辑处理就比较的难以用代码实现。我参考了一些电子商务网站,研究了一下他们的购物流程,大概有了一些处理的想法,用户在点击结算之后,如果没有登录,则会跳转到登录界面提示用户登录,增加了合理性,如果用户名没有经过验证,登录的时候还会跳转到邮箱验证界面提示用户验证邮箱,大大减少了一些恶意注册的问题。用户如果确定结算购买,则给用户提供一个订货单,由用户填写一些基本
26、信息,确认之后,系统则产生一个唯一的订货单号,并将其返回给用户,以便用户日后查询。这样就基本上实现了购物车的功能。6.6 系统中存在的问题及拟定的解决方法1、第一个问题是用户在注册过程中,一些关键字段的命名规则存在着比较大的缺陷,比如用户名的选择上,一般的习惯是使用邮箱作为用户名,我在系统中只考虑了为空的情况,这是不够的,我们可以在jsp页面添加一段javascript验证代码,主要是使用正则表达式对用户名进行限制,具体的代码如下:var pattern=/b(_a-za-z0-9-+(._a-za-z0-9-+)*(a-za-z0-9-)+(.a-za-z0-9-+)*(.a-za-z0-9
27、2,)|(.a-za-z0-92,.a-za-z0-92,)$)b/;if(!pattern.test(emailtxt)$(#).html(email格式不正确);return;2、第二个问题就是防止某些用户恶意注册,用户注册以后,需要邮箱验证,系统会先会生成一个随机的32数uuid类型的随机生成的字符串作为验证码,发送到用户注册的邮箱,如果邮箱验证不通过则无法登陆。3、第三个问题是用户信息,尤其是密码的加密,处于对系统安全性的考虑,数据库中的用户密码应该对于所有人都是加密状态,但因本人水平有限对这个方面也不是很了解,所以准备采用现有的md5加密算法,该算法主要的特点是唯一性且不可逆性。大大降低了密码被破解的可能。如果需要我们可以也可将整个数据库进行加密,增加系统的安全性。对于网上购物系统来说安全性无疑是最重要的,层层验证虽然保证了系统的安全性,但对于用户来说又是极不人性化的,如何在最简单的验证流程下,保证用户数据的安全,是在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程项目投标管理制度
- 荷叶母亲获奖
- 人教部编版四年级语文上册第15课《女娲补天》精美课件
- 2024年福建客运资格证节能驾驶题库50
- 算法设计与分析 课件 5.2-动态规划引例2-数字三角形问题
- 2024年盐城道路旅客运输从业资格证模拟考试
- 2024年白城道路旅客运输从业资格证模拟考试
- 2024年西宁客运从业资格证考什么题目
- 2024年内蒙古客运从业资格证考试考什么科目
- 吉首大学《基础英汉互译》2021-2022学年第一学期期末试卷
- 六年级小学数学兴趣小组活动记录
- 新型研发机构备案申请表
- Unit1第1课时(SectionA1a2d)(教学设计)九年级英语全一册(人教版)
- 血液透析患者水分控制的健康宣教
- 护理成绩单模板
- DB52T 1041-2015 贵州省红粘土和高液限土路基设计与施工技术规范
- 先天性甲状腺功能减退症研究白皮书
- 绘本成语故事:四面楚歌
- 孩子磨蹭和拖拉怎么办
- 卵巢癌(腹腔镜)临床路径
- 儿童体育锻炼安全须知课件PPT【内容完整】
评论
0/150
提交评论