基于Java的网上购物系统的与实现110334382.docx
- 文档编号:7322946
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:16
- 大小:240.64KB
基于Java的网上购物系统的与实现110334382.docx
《基于Java的网上购物系统的与实现110334382.docx》由会员分享,可在线阅读,更多相关《基于Java的网上购物系统的与实现110334382.docx(16页珍藏版)》请在冰豆网上搜索。
基于Java的网上购物系统的与实现110334382
基于Java的网上购物系统的与实现110334382
晋中学院
本科毕业论文(设计)
题目基于JAVA的网上购物
系统的设计与实现
院系计算机科学与技术
专业_计算机科学与技术
(网络工程方向)
姓名聂澎
学号0911122126
学习年限2009年9月至2013年7月
指导教师李俊丽职称讲师
申请学位学士学位
2013年5月15日
基于JAVA的网上购物系统的设计与实现
学生姓名:
聂澎指导教师:
李俊丽
摘要:
本系统是尝试用JSP在网络上架构一个动态的电子商务网站,它是在Windows7下,以MySQL为数据库开发平台,Tomcat网络信息服务作为应用服务器,基于J2EE多层体系结构,应用Java、Struts、Hibernate等技术开发的网上购物系统。
系统分注册与登录部分和购物车部分,注册与登录部分主要包括用户注册与登录功能;购物车部分主要包括购物车添加商品,删除商品,修改商品数量等功能。
建立后的网站系统是一个动态、交互式、具有用户登陆与注册、购物车删除与恢复、订单生成等功能的电子商务网站。
关键词:
java;jsp;Ajax;MySQL;struts
DesignedintheOnlineShoppingSystembasedonJSP
Author’sName:
NiePengTutor:
LiJunLi
ABSTRACT:
ThesystemistryingtouseJavainadynamicnetworkofe-commercewebsitesstructure,whichisinWindows7,MySQLfordatabasedevelopmentinplatform,Tomcatapplicationserverasanetworkinformationservices,useJava、Struts、Hibernate、Springtechnologydevelopmentonlineshoppingsystem.Prospectsandthebackgroundofsomeofhishours,theprospectsofusers,includingusersregistered,ashoppingcartmanagement,ordermanagement,personalinformationmanagement,messageboardmanagementfunctions;Backgroundinpartbymanagers,includingcommoditymanagement,processingorders,customerinformationmanagement,inform-ationmanagement,andotherfunctionslinks.Aftertheestablishmentofthewebsiteisadynamic,interactive,withcommodities,systemsmanagement,voicemail,andotherfunctionsofthee-commercewebsiteusers.
KEYWORDS:
java;jsp;Ajax;MySQL;struts
1引言1
1.1研究背景1
1.2研究现状1
1.3发展趋势1
2系统概述2
2.1网站的设计目标2
2.2网站的可行性2
2.3系统的主要架构及开发模式3
2.4系统主要技术简介4
3系统功能需求4
3.1系统功能需求4
3.2系统流程分析5
4系统数据库设计7
4.1数据库需求分析7
4.2数据库中各表间关系8
5系统详细设计8
5.1用户注册与登录8
5.2购物车管理9
5.3订单生成10
6系统测试11
6.1系统关键部分测试分析11
6.2测试分析总结及说明11
6.3系统的性能分析12
6.4系统的整体设计和规划中的问题12
6.5开发功能模块所遇到的难点12
6.6系统中存在的问题及拟定的解决方法13
7结束语14
致谢15
参考文献16
1引言
1.1研究背景
随着全球信息网络的发展,Internet在世界上已不仅仅是一种技术,更重要的是它已成为一种新的经营模式,彻底改变了人类工作,学习,生活,娱乐的方式,已成为国家经济和区域经济增长的主要动力。
Internet正成为世界最大的公共资料信息库,它包含无数的信息资源,所有最新的信息都可以通过网络搜索获得。
更重要的是,大部分信息都是免费的,应用电子商务可使企业获得在传统模式下所无法获得的巨量商业信息,在激烈的市场竞争中领先对手。
因此,本设计是通过JSP语言来实现,一个基于B/S模式三层结构的网上购物网站网站[1]。
1.2研究现状
在国内的网上商城:
1、起步晚、数量却非常多。
虽然我国的网上商城起步的很晚,但是发展却很迅速,根据某调查网站上的数据可知,到目前具有网上商城的性质的网站达12000之多,但是能够真正满足消费者购物要求的却不多。
2、支付和安全认证上的客观技术原因,导致用户完成电子商务交易变得相当复杂,使大部分用户还没等交易完成就已经退避三舍了,所以开发一个安全又操作简单的网上商城难度很大。
3、由于很多网上商城商家一开始都想把自己的网站做到成亚马逊那种境界,这导致很多网站只对商城货物的品种和数量上加以扩张,却不对数据查询技术加以改进,这使很多网站在用户浏览的时候速度很慢或者交易的过程中时间太长。
4、很多网上商城跟用户的交流很少,开发出来的网站,却不适合大部分用户的要求。
1.3发展趋势
随着电子商务环境的改善,以及电子商务所具备的巨大优势,电子商务正在以惊人的速度在发展并且逐渐渗透到社会生活中的每一个领域。
而在人口最多的中国,近年来网购这一趋势也变的愈加明显。
越来越多的年轻人也选择在网上开店创业,许多消费者也觉得在网上购物比较便宜。
目前为止,网购在中国仍有很大的发展空间。
2系统概述
我所设计和开发的网上购物平台主要特点是采用Web技术,借助于Internet互联网广泛应用技术,从而实现信息化,规范化,系统化,网络化的平台,使整个购物活动过程简单、方便、易行。
该平台功能如下:
1、能够完成用户基本信息录入的注册和用户基本信息的个人管理。
2、能够完成对网站的购物车商品资料(商品添加与删除、商品修改)等功能达到对购物车的管理。
3、能够通过查看购物车对所选商品进行确定、挑选,通过定单查询对支付费用进行确定。
2.1网站的设计目标
本平台利用现在比较广泛的JSP+MySQL数据库的架构实现的,此系统分为用户部分和购物车部分。
用户部分是友好的操作界面,包括:
用户登录,用户注册,浏览商品、购买商品等功能;购物车部分包括:
商品管理(商品添加与删除、商品修改)等。
系统设计的总体规则如下:
1、简单性:
在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个
网站来说是非常重要的。
2、针对性:
该平台设计是网上购物系统及后台管理的定向开发设计,所以具有
专业突出和很强的针对性。
3、实用性:
该平台能完成电子商品展示和管理员管理的基本信息,具有良好实
用性。
2.2网站的可行性
1、经济可行性
该平台设计只是作为本人的毕业设计,又因为本人的设计能力有限,其功能还不能完善,所以没有什么经济效益可谈。
2、技术可行性
JSP+Servlet+SSH的技术已经较为成熟。
3、运行可行性
该系统需要搭建JVM即JAVA虚拟机和Tomcat环境,在此环境下,还需要在正确连接数据库后可以正常运行。
通过以上的可行性分析,我将采用JSP+Servlet+SSH相结合的技术,运用数据库对网站进行建设[2]。
2.3系统的主要架构及开发模式
系统的建设关键在于其所使用的B/S基于浏览器的架构。
B/S基于浏览器的架构则是目前网络系统应用的主流,它将大量的数据处理工作交给服务器端来处理,客户端只用通过普通的IE浏览器即可访问系统,方便快捷而且利于系统的更新和维护,java语言在该方面更是得天独厚,J2EE规范的出现则使系统的开发更加规范,层次更加清楚,更利于对复杂事务的处理,而且在安全性方面也做的更好。
基于MVC的开发流程则使开发过程更加清晰明了,利于做一些复杂的逻辑实现,从而节省了开发周期和开发成本[3]。
在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。
B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。
服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。
浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由WebServer完成。
这种三层体系结构如图2-1所示。
图2-1三层体系结构图
这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。
由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子"苗条"了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。
这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。
2.4系统主要技术简介
SSH为struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。
集成SSH框架的系统从职责上分为四层:
表示层、业务逻辑层、数据持久层和域模块层,搭建结构清晰、可复用性好、维护方便的Web应用程序。
其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持。
本系统的具体做法是:
用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问。
系统的基本业务流程是:
在表示层中,首先通过JSP页面实现交互界面,负责传送请求和接收响应,然后Struts根据配置文件将ActionServlet接收到的Request委派给相应的Action处理。
在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
采用上述模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。
这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。
而且由于不同层之间耦合度小,大大提高了开发效率[4]。
3系统功能需求
3.1系统功能需求
网上商城共分两个部分,一部分是用户部分,包括:
顾客在线注册、登陆、购物、提交订单、付款等操作;另外一部分是购物车管理部分,这部分的内容包括:
产品的添加、删除、恢复、生成订单等。
3.2系统流程分析
1、前台购物时流程
图3-1前台购物流程
2、注册功能流程
注册入口
Email地址有效
密码是否一致?
密码长度符合要求?
必填项为空?
其他信息有效?
注册成功
图3-2用户注册流程
3、用户登录流程
图3-3用户登录流程图
4、商品管理流程图
3-4商品管理流程图
5、购物车流程
图3-5购物车流程图
4系统数据库设计
4.1数据库需求分析
数据库中总共有八张表分别为:
1、d_user用户信息表
存储用户的基本信息。
包含用户登录、用户注册功能。
2、d_receive_address用户地址信息表
存储用户使用过的地址信息。
包含填写送货地址功能。
3、d_category产品类别信息表
存储产品的类别信息。
包含主界面类别菜单功能。
4、d_product产品基本信息表
存储了各类型产品的基本共通信息。
5、d_book图书信息表
存储了图书特有的信息。
6、d_category_product产品类别和产品对应关系表
存储了某个类别包含了哪个商品的关系信息。
.
7、d_order产品订单信息表
存储了订单的基本信息。
8、d_item订单明细表
存储了某个订单所购买的产品信息。
4.2数据库中各表间关系
图4-1各表间关系图
5系统详细设计
5.1用户注册与登录
1、用户注册
当用户第一次登录时首先要注册,成为会员后,才可以购买物品.用户可以通过单击首页的注册按键来打开注册页面进行会员注册操作。
为了便于管理网站对用户的管理,在用户注册页接收到的注册信息要经过严格的过滤,保证注册用户的唯一性,在提交表单后需要对数据表中的数据进行查询,如果没有找到,则在插入数据表时提示注册成功,否则提示用户以被占用,请重新注册[5]。
用户注册界面如图5-1所示。
图5-1用户注册界面
2、用户登录
用户登录窗口设置在首页上,主要用来接收用户输入的用户名和密码,并更新用户在网站中的状态信息。
网站首页在用户第一次访问时会判断用户是否登录,未登录则显示用户登录窗口,提示用户登录或注册.对于已经登录的用户,在用户登录窗口将显示用户的相关信息.
首页主要是根据保存用户名信息的session参数来判断用户是否已经登录的。
5.2购物车管理
1、购物车模块
添加购物车就是把用户选中的商品放在购物车中。
当用户在前台首页中单击商品展示区的“购买”按钮时,系统会将该商品的详细信息展示在查看物品清单页中。
用户在单击物品清单页面下方的“购买”链接,便可将商品放入购物车。
2、查看购物车
为了方便用户随时查看购物情况,在网站的首页加入了查看购物车链接,通过它
可以将所选物品信息放入购物车中显示出来。
在程序中使用一组文本框记录用户购买的商品数量,用户可以在文本框中输入想要购买的数量然后单击修改按钮。
如果要删除物品,可以点“删除”,并单击修改按钮来更新购物车中商品的数量[6]。
购物车界面如图5-2所示。
图5-2购物车界面
3、清空购物车
清空购物车是指当用户订单生成后,倘若还想继续购物,一定要清空购物车在
进行选购商品,这样防止重复购物。
清空购物车只需要将session中存储的对象清空即可。
5.3订单生成
在生成订单模块中主要使用了调出用户信息并根据订单生成的时间生成唯一订单号,调出用户信息就是完全的对数据库进行操作,利用session对象把登陆后的用户名保存起来,在订单生成时把保存的用户名从数据库的用户表中取出即可。
订单生成界面如图5-3所示。
图5-3订单生成成功界面
6系统测试
6.1系统关键部分测试分析
系统完成之后,对各个模块的功能进行了详细的测试,输入数据和预测输出数据相比,发现了一些问题。
主要是在查询过程中预计查询结果和实际结果不一致,有时候达不到目的,对数据库的操作表之间的关联考虑得不够周到,因此往往会出现一些
小的错误。
还有查询条件的前后数据类型不一致也是一个很常见的错误,需要靠一步步的查找解决。
各个模块组装完成后,又会出现一些问题。
比如在操作购物车结帐的
这个流程中,由于是多次添加和修改,最后结帐,所以很容易造成数据混乱,必须对
相应的数据关系理清楚,一些关键查询统计的SQL语句必须反复斟酌才能放在程序中使用。
6.2测试分析总结及说明
在测试过程中,我经过模块测试和组装测试,排除了系统的大部分错误。
当然排除所有错误是不太可能的,我想应该还有些不易检测到的错误还没有被发现,需要在使用的过程中进一步的完善,数据库的加密是一个重要的概念,在实际的应用过程中
是一个尚待解决的问题,应该做好数据库的完善工作,特别是备份和安全工作;另一方面本系统没有制作相关的打印,由于时间仓促难免有错误和不完善的地方,希望老师能够帮我指点和纠正。
6.3系统的性能分析
网上购物系统的性质决定了它的服务端工作负荷比较大,这就要求服务端的硬件配置要尽可能的高,主要是内存,而且操作系统也要尽可能的稳定。
基于java的系统一般来说网络安全性比较好,但并不能说就一定安全,尤其在windows操作系统
下,由于windows的漏洞比较多,系统装配在windows下并不是最佳的选择,如果有条件,建议可将系统装配在unix操作系统下,提高系统的抗侵入能力。
系统的核心数据库,随着数据的不断增多,必然会产生冗余,导致系统运行效率降低,建议管理员定期备份和清理冗余数据,以保证系统的正常高效运行。
6.4系统的整体设计和规划中的问题
由于是基于B/S的系统,网页在其中就承担着非常大的工作,包括向服务端后台写入和修改数据,以及服务端响应客户端的请求,向客户端页面返回数据,这些工作不可能只由几个网页来完成,但网页数量一多又必然结构混乱,造成开发过程难以控制。
为解决这个问题,我采用了现代软件开发过程的模块化思想,先将系统功能进行
分解成几个部分,各个部分又由许多小的页面组成,这样一来虽然网页数量没有减少,
但结构清晰了很多,在开发过程中可以逐步,逐个模块的实现,提高了开发效率。
6.5开发功能模块所遇到的难点
因为是第一次做这么完整的系统,所以碰到的问题也很多,除了一些基本的语法
之外,感觉还是一些考虑问题的思维方式不太得当,比如我的这个网上购物系统,我感觉难度比较大的还是购物车这个模块比较的难设计,因为过程比较复杂,他的一些
逻辑处理就比较的难以用代码实现。
我参考了一些电子商务网站,研究了一下他们的购物流程,大概有了一些处理的
想法,用户在点击结算之后,如果没有登录,则会跳转到登录界面提示用户登录,增加了合理性,如果用户名没有经过验证,登录的时候还会跳转到邮箱验证界面提示用户验证邮箱,大大减少了一些恶意注册的问题。
用户如果确定结算购买,则给用户提供一个订货单,由用户填写一些基本信息,确认之后,系统则产生一个唯一的订货单号,并将其返回给用户,以便用户日后查询。
这样就基本上实现了购物车的功能。
6.6系统中存在的问题及拟定的解决方法
1、第一个问题是用户在注册过程中,一些关键字段的命名规则存在着比较大的缺陷,比如用户名的选择上,一般的习惯是使用邮箱作为用户名,我在系统中只考虑了为空的情况,这是不够的,我们可以在jsp页面添加一段javascript验证代码,主要是使用正则表达式对用户名进行限制,具体的代码如下:
varpattern=/\b(^['_A-Za-z0-9-]+(\.['_A-Za-z0-9-]+)*@([A-Za-z0-9-])+
(\.[A-Za-z0-9-]+)*((\.[A-Za-z0-9]{2,})|(\.[A-Za-z0-9]{2,}\.[A-Za-z0-9]{2,}))$)\b/;
if(!
pattern.test(emailTxt)){
$("#email\\.info").html("Email格式不正确");
return;
}
2、第二个问题就是防止某些用户恶意注册,用户注册以后,需要邮箱验证,系
统会先会生成一个随机的32数UUID类型的随机生成的字符串作为验证码,发送到用户注册的邮箱,如果邮箱验证不通过则无法登陆。
3、第三个问题是用户信息,尤其是密码的加密,处于对系统安全性的考虑,数据库中的用户密码应该对于所有人都是加密状态,但因本人水平有限对这个方面也不是很了解,所以准备采用现有的MD5加密算法,该算法主要的特点是唯一性且不可逆性。
大大降低了密码被破解的可能。
如果需要我们可以也可将整个数据库进行加密,增加系统的安全性。
对于网上购物系统来说安全性无疑是最重要的,层层验证虽然保证了系统的安全性,但对于用户来说又是极不人性化的,如何在最简单的验证流程下,保证用户数据的安全,是在做网上购物系统中需要考虑的一个问题。
7结束语
Internet在飞速发展的同时,也带动了电子商务技术的迅猛前进,电子商务技术变得日益成熟。
网上购物系统在此推动下也日趋完善。
本文结合当今网上购物的特点,设计了一个基于JSP语言的网上购物系统,在本系统中实现了订单的追踪查询功能,实现了用户与管理员之间的信息交互,其次,管理员后台功能细致入微,特别是对商品的类别管理的实现,使得本系统更加具有商业价值,适应电子商务类系统的开发需求。
但由于时间和本人的精力、知识水平有限,系统还有很多不完善之处,在今后的学习中要力争对本系统进行代码方面的设计和编写,使该系统得以实现,以发挥出应有的商用价值。
致谢
经过几个月的忙碌和工作,本次毕业设计已经接近尾声。
能够顺利完成本次毕业设计,首先要感谢指导老师李俊丽对我指导。
老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。
他给了我许多宝贵的意见,解决了很多技术上的难题给予了我很大的帮助,使我得到不少的提高。
这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。
其次,我要感谢其他教导和帮助过我的老师,是他们的教导奠定了我毕业论文设计所需的基本知识和基本技能同时也教会了我怎样做一个有价值的人。
最后,我还要感谢我的家人、同学和身边的朋友,衷心感谢他们大学四年中给予我的关怀和支持。
参考文献
[1]明日科技等.实战突击:
javaweb项目整合开发[J].中国管理信化,2008
(1):
46-76.
[2][美]VivekChopra,JonEaves,RupertJones,等.JSP高级程序设计[M].北京:
人民邮电出版社,2006.23-36
[3]陈凌云编著.精通EclipseWeb开发[M].北京:
人民邮电出版社,2006.35-46
[4]陈岚,戴晓丽.论电子商务中的个性化信息服务[J].情报科学,2009:
12-22
[5]塞奎春.JSP信息系统开发实例精选[M].机械工业出版社.2006.46-55
[6][美]KevinDuffey,VikramGoyal,TedHusted等.JSP站点设计编程指南[M].北京:
电子工业出版社,2002.56-68
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Java 网上 购物 系统 实现 110334382