基于jsp的网上超市系统的设计与实现.docx
《基于jsp的网上超市系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于jsp的网上超市系统的设计与实现.docx(49页珍藏版)》请在冰豆网上搜索。
基于jsp的网上超市系统的设计与实现
JIUJIANGUNIVERSITY
毕业论文
题目基于JSP的网上超市系统
的设计与实现
英文题目DesignAndImplementation
OfBasedOnJSPOnline
SupermarketSystem
院系信息科学与技术学院
专业计算机科学与技术
姓名何俊杰
班级学号10814010132
指导教师邵君
二○一二年五月
摘要
随着Internet飞速发展,互联网成为人们快速获取、发布和传递信息的重要渠道。
它在人们的政治、经济、生活等各个方面发挥着重要作用。
特别是对当代中国的白领来说,去超市购物逐渐成为令人头痛的事情。
交通堵塞、排队结账使面临工作压力的年轻上班族越来越不愿意去超市。
网上超市带给顾客全新的生活方式:
只要点击几下鼠标,我们就可以将日常所需送到顾客的手中。
网上超市是建立在网络上的一个虚拟的购物商场,避免了人们挑选商品的繁琐过程,使购物变得轻松、快捷、方便;同时又能有效的控制“商场”运营的成本,开辟了一个新的渠道。
因此研究和开发网上超市系统对丰富人们生活,足不出户完成工作、学习、娱乐、购物等方面有着非常重要的意义。
系统采用JSP技术和Mysql数据库技术实现。
首先,论文简要介绍了网上超市系统开发的背景、目的和意义和国内外发展的现状,概述了开发本系统所涉及的理论知识及相关技术。
其次,论文详细地阐述了系统的需求分析和系统设计。
通过采用面向对象的分析与设计方法,对网上超市系统进行需求分析。
再次,论文着重介绍了基于JSP技术的网上超市系统的开发过程、设计方法、软件的实现过程和测试结果,以及基于JSP的主要关键技术的实现。
系统使用了Ajax技术实现页面的无刷新提交。
通过引入基于JSP技术以便使得系统的逻辑计算、页面层次、访问速度等方面得到改善。
最后,对论文所做的工作进行了总结,并展望下一步的完善与改进工作。
该网上超市系统综合了目前其它相关技术,外观设计简约,交流界面人性化,配合数据库管理,实用且易操作。
关键词:
网上购物,电子商务,网上超市系统
Abstract
WiththerapiddevelopmentofInternet,theInternetbecomepeopletoquicklyget,distributionandtransferinformationimportantchannel.Itinpeople'spolitical,economic,andotheraspectsoflifeplaysanimportantrole.TheInternetpublishinginformationmainlythroughthewebsitetorealize.Aspeoplelifelevelof,neverleavehometocompletethejob,study,entertainment,shoppinghavebecomepeopletothefastpaceoflivingthewayademand.Thepreliminarydesignrealizetheonlineshoppingthebasicoperationoftheprocess,membership-basedshoppingsystem,perfectthefunctionofthewebsite.
Thispaperdescribesthedesignandimplementationofe-commercesites-thepurposeofonlinesales,processandtherealizationofvariousfunctions.Giventhesystematicanalysisofthesite,describedthewebpagedesign,andintroducesthecontentsofthedatabaseandthemainimplementation.Thispaperalsosummedupthemaincharacteristicsandfunctionsofwebpage.Designsimple,humanitycommunioninterface,withdatabasemanagement,practicalandeasytooperate.
ThesystemuseJSPtechnologyandMysqldatabasetechnology.
Keywords:
OnlineShopping,E-commerce,OnlineSupermarket
1绪论
1.1系统开发背景
1.1.1网上购物的发展
近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。
于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。
网上购物系统作为B2B,B2C(BusinesstoCustomer,即企业对消费者),C2C(CustomertoCustomer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。
本文主要考虑的是如何建设B2C的网上购物系统。
网上购物是一种具有交互功能的商业信息系统。
它向用户提供静态和动态两类信息资源。
所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。
网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。
这种全新的交易方式实现了公司间文档与资金的无纸化交换。
1.1.2网上购物系统的现状
目前国内主流购物系统中采用ASP、PHP、JSP、JAVA语言开发占据80%,在模式上随着近年国内电子商务情势的大好,各购物系统开发商的兴起如雨后春笋一般。
随着国家政策的支持和电子商务行业的高速发展,以后的购物系统发展路线必然走向标准化、国际化、智能化的市场道路。
2005年我国网民网上购物用户达2200万,比2004年增长38.6%,交易额高达135.05亿元。
2007年通过B2B电子商务完成的交易额达到21239亿元,增长65.9%,实现的运营商营业收入达39亿元,增长49.1%。
2008年6月底,网络购物用户人数达到6329万,半年内增加36.4%,全年我国电子商务类站点的总体用户覆盖已经从9000万户提升至9800万户,网络交易规模接近2700亿。
根据我国电子商务研究中心发布的《2010年(上)电子商务市场数据检测报告》显示,截至2010年6月份,国内个人网店的数量已经达到了1200万家,且增长迅猛,预计今年年底网店数量将达到1300万家,直接从业人员超过130万人,间接带动就业近1000万人,市场交易额达到2.25万亿元,预计全年交易额将超过4.3万亿元。
由上面数据可以看出,中国的网上购物发展正蓬勃发展,充满活力,而基于JSP开发的电子商务网站更是国内外的主流,因此此系统的开发是符合社会的发展形式,是很有意义的。
1.2系统实现的目标
现在流行的网上购物系统不仅要有漂亮的网页,更要有严谨的规划,注重每一个细小的环节。
这样才能使得在电子交易时避免不必要错误发生。
我们将使用HTML、JSP等技术来编辑网页,并运用JDBC技术把数据库和动态网页相关联。
传统的管理信息系统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大时有很多的应用场合。
当数据量比较大,并且有较强的专业性时,录入的费用和出错的可能性都相应上升。
本设计在实际应用中的解决方案是建立网站,以及自己的数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解商品买卖的情况。
1.3系统的开发意义
Internet的发展,为改变传统的商业运作模式提供了一种技术上的可行性的方案:
利用Internet的技术和协议,建立各种企业内部网Intranet,企业外部网Extranet,通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。
而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为:
电子商务。
当今比较流行的网上购物系统有“淘宝()”以及“当当()”。
它们都是相当优秀的电子商务网站,对其他的网站提供了良好的典范。
设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。
设计和完成一个电子商务网站的,将会牵涉到许多技术上的问题,如:
动态网页制作技术的,后台数据库的设计和管理,通过实际的制作个网站,可以避免纸上谈兵,在实践中掌握上述技术的使用。
1.4本章小结
这一章节主要就是介绍了一下系统开发的目的以及意义,首先列出了网上超市的一些管理现状,只有很好的了解了当前网上超市的现状,那样才能对该系统进行设计前期的工作任务进行一个很好的规划,明确该系统的设计理念以及改系统要达到的目标,同时明确了本系统开发所涉及的核心技术。
2需求分析
2.1系统非功能性需求
非功能性需求是指为满足用户业务需求必须具有但不是功能性需求的系统特性。
虽然此需求与系统业务逻辑无直接关系,但也影响着系统的质量,不能忽视。
本系统的非功能性需求主要包括以下几个方面:
(1)界面友好
本系统在功能完善的情况下,界面尽量做到简洁友好、便于操作,并应有效地防止误操作的发生。
(2)支持多用户并发访问
本系统属于一个多用户的网上购物系统,因此需要做到支持多用户的并发访问,并尽量控制到用户可接受的访问速度。
(3)安全性
互联网中存在的威胁无处不在,由于本系统基于Web开发,难免要受到安全性的挑战。
因此,本系统应尽量避免威胁安全性的因素发生。
2.2系统功能需求
通过需求分析,确定本系统有以下一些基本功能:
●登录注册管理:
注册时能够对用户名,密码的简单验证;能够对电子邮箱,Email进行有效性验证;能够防止利用页面刷新重复注册,以及已经注册的用户不能重复注册。
●商品浏览:
分类显示商品;显示商品详情,提供购买链接。
●购物车管理:
欲购买商品可以增添到购物车;也可以从购物车退回商品,清空购物车;对于同一件商品的多次购买只能在原来的商品上增添数量,还可以修改购物车中某个商品的数量,统计商品总金额。
●订单管理:
只有登录的用户可下订单;用户可以查看自己的订单。
管理员可以修改订单的状态。
●商品管理:
管理员可以增添商品分类;修改商品基本信息;增添商品时候可以上传图片。
●用户管理:
管理员对注册用户的维护。
2.3系统数据流程分析
2.31系统数据流图
通过对系统的网上超市的数据流动分析,得出数据流程如图2-1所示。
图2-1系统数据流图
2.32系统E-R图
通过对系统的网上超市的数据分析,得出E-R图如图2-2所示。
n
1
n
1
1
1
n
1
图2-2系统E-R图
2.4环境需求
2.41开发平台
此系统开发选用的平台是Struts2+JavaServerPage(简称JSP)+Mysql数据库,它适应于Windows操作系统并能很好的与其应用程序结合,而且Mysql数据库也易操作,从而大大降低了编程难度。
具体如下:
●采用了Internet架构,Bowser/Server模式。
●Web服务器采用Tomcat5.5服务器,数据库管理系统为Mysql。
●采用了jdk1.6的环境
●开发工具使用Dreamweaver搭建系统页面框架,再利用Struts2自带的标签插入服务器端传过来的数据。
●在服务器端使用Myeclipse工具开发,利用Struts2框架处理业务。
2.42系统开发工具
本系统是基于Struts2+JSP+Mysql数据库技术实现的,现对JSP技术和Mysql数据库以及Struts2框架作简要的介绍。
2.43开发语言—JSP
JSP页面由HTML代码和嵌入其中的Java代码所组成。
JavaBean是JSP的技术基础,而且大型的Web应用程序的开发需要JavaBean和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网等特点。
JSP的技术的优势:
●一次编写,到处运行。
在这一点上Java比PHP更出色,除了系统之外,代码不需要做任何更改。
●系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/PHP的局限性是显而易见的。
●JSP技术是用Java语言作为脚本语言的。
Java语言是成熟的、强大的、易扩充的编程语言。
●高效性与安全性。
JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。
●可维护性。
由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。
●多样化和功能强大的开发工具支持。
Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
2.44数据库—Mysql
Mysql是Oracle公司的一款数据库产品,因为其小巧亦操作,却十分稳定,成为一些中小型项目和我们学习中最常用的数据库,在这里便使用了这款成熟稳定的数据库。
2.45框架—Struts2
在Struts2出现之前,Struts1就是一个非常有名的框架,它实现了MVC模式。
之后出现的WebWork框架也是一个很优秀的框架,随着时间的发展,Struts1渐渐淘汰,有人用WebWork的核心并包装上Struts1,由此产生了更先进的技术—Struts2。
Struts2是经典的MVC结构框架,将显示,控制,逻辑很好的分离,可以使我们开发起来更具延展性。
2.5本章小结
这一小节主要是明确系统开发的需求分析,明确系统要实现的功能,确立系统的功能模块,按照系统开发的流程,先申述系统的管理概述,继而就确立系统要实现的功能模块,最后确立系统的用户角色需求的定位,本需求分析报告的目的是规范化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了网上超市系统的软件开发过程,便于程序员与客操作者之间的交流、协作,并作为工作成果的原始依据,同时也表明了本软件的共性,以期能够获得更大范围的应用。
3系统设计
3.1系统结构设计
本系统课分为前后台两个部分,共有用户登录注册、商品展示、购物车、结账、后台管理五大模块
网上购物系统前台功能结构如图3-1所示
图3-1系统前台功能结构图
网上购物系统后台功能结构如图3-2所示
图3-2系统后台功能结构图
系统处理业务流程如图3-3所示
图3-3业务流程图
主要可将本购物系统分为五个模块
1.登陆注册模块
图3-4登陆注册流程图
(1)首先进入主页面main.jsp时,先载入一些静态元素和左边栏、右边栏两个只需显示文字的动态数据,而其他的几个div版块,如站长推荐,热销版,新上架等模块都是通过AJAX技术异步加载进main.jsp页面。
(2)登陆时加上了javascript验证表单。
(3)注册时加上了javascript验证表单,在填写email即用户名的时候,通过失去焦点事件和Ajax技术向服务器发送异步请求查询用户名是否存在,并在注册页面局部刷新提示用户,验证码也是通过Ajax技术实现。
(4)注册页面提交后,会出现一个验证邮箱提示,服务器向用户邮箱发送了一个验证码,用户需要填写验证码才能完成注册,如果不进行验证,下次登录是还会提示验证,不能使用用户功能。
(5)输入邮箱验证码后,完成注册。
2.商品查看与展示
(1)在首页主要构成是左边栏、右边栏、站长推荐、热卖商品、新品上架等。
左边栏显示的是商品分类信息,一个大类,下面是小类,如:
图书(大类),
世界名著、历史军事、小说文学(小类);右边栏是“新品热销版”,显示的是最近一个月上架的商品的销售排行NO.1~~NO.8;站长推荐,显示通过随机查询的商品,有商品图片,商品名,商品介绍等信息;“热卖版”是通过销量查询显示的商品;“新品上架”是通过添加时间查询最近添加的商品。
(2)从左边栏点击分类进去查看商品信息,会进入商品列表页面,左边栏显示当前进入的这个大类别已经它所有的子类别,并显示各分类的商品数目及大分类的商品总数目,中间栏显示的是当前选中的类别的所有商品列表,显示了商品图片,商品名,价格,介绍等,每个商品下有“购买”选项,可以添加到购物车,实现了翻页功能,每页显示3件商品信息,可以选择排序方式,如按上架时间排序,按销量排序。
(3)通过主页面其他地方或者商品列表点击可以进入单独的商品信息页面,有较为详细的商品信息,同样可以购买,实现了放大镜功能,通过鼠标放在图片上会显示大图片。
(4)通过通过任意商品链接进入商品的详细信息信息页面,有较为详细的商品信息,显示了商品的图片、价格、库存、厂商等详细信息,在此页面同样也可以将商品加入购物车,还能选择商品的个数。
(5)商品的所有显示都是从数据库中读取,其中图片存放在固定文件夹中,数据库中存放的是图片地址。
3.购物车模块
图3-5购物车流程图
(1)不管有无登录,都可以使用购物车,首先查看商品,点击购买,如果商品已经购买,购物车只会添加一次。
(2)添加完毕,点击“购物车”查看添加到购物车的商品,在购物车查看页面,可以看到添加的商品名,原价,本网站价格,以及数量,还有商品的总价,节约价格。
(3)在购物车页面可以有一下操作:
修改数量、删除、恢复、结账。
“修改数量”可以更新需要买的商品数量,默认为1,“删除”将商品从要购买的列表删除,出现在下面以删除的列表中,“恢复”即可以将删除列表的商品恢复到要购买的列表中,“结账”即将要生成订单,结账功能需要登录才能使用,未登录的会自动跳转登陆页面。
(4)本购物车使用的是session+cookie技术,即购物车中得数据会在
浏览器端进行备份,失效时间为1天,如果关闭浏览器,下次再登录还可以从浏览器中取得数据。
4.生成订单
图3-6订单流程图
(1)首先根据购物车里的数据生成一个不能修改的表单,供用户确认,确认后可点击结账。
(2)点击结账,系统会拦截没有登陆的客户,跳转到登陆界面,登陆后才能继续操作。
(3)接着跳转到地址填写界面,如果是老客户,并且以前有过送货地址,可以通过下拉列表选择地址,如果想填写新地址则选择新地址,并且填写,填写后提交会生成新地址,下次可以通过选择地址,直接选择。
(4)地址填写无误,提交,向服务器发送请求,插入数据库,生成订单成功。
5.会员信息
图3-7会员功能流程图
(1)用户登录后可以查看一些个人信息,如用户名,性别,电话,最后登录时间,最后登录IP地址等信息。
(2)用户登陆后可以修改部分个人信息,如用户名,电话。
(3)用户可以查看所有的订单信息,以及订单当前状态。
(4)用户可以查看之前添加的喜欢的商品。
3.2数据库设计
本系统数据库采用Mysql5数据库,系统数据库名称为d_shop,共包含8张表。
a.d_user表用户注册信息表
用户信息表主要用来保存用户主要信息。
表d_user的结构如表3—1所示。
表3-1d_user表
字段名
数据类型
长度
主键或外键
id
int
12
pk
email
Varchar
50
nickname
varchar
50
password
varchar
50
user_integral
int
12
is_email_verify
char
3
email_verify_code
varchar
50
last_login_time
bigint
last_login_ip
varchar
15
id:
d_user表的主键
Email:
用户注册邮箱
Nickname:
用户昵称
Password:
用户密码
User_integral:
用户的积分
Is_email_verify:
用户是否验证邮箱
Email_verify_code:
邮箱验证码
Last_login_time:
最后登录时间
Last_login_ip:
最后登录IP地址
b.d_receive_address表用户收货地址表
表3-2d_receive_address表
字段名
数据类型
长度
主键或外键
Id
Int
12
Pk
User_id
Int
12
Fk
Receive_name
Varchar
20
Full_address
Varchar
200
Postal_code
Varchar
8
Mobile
Varchar
15
Phone
Varchar
20
Id:
address表的主键
User_id:
对应用户的id号,外键,用于连接两表
Receive_name:
收货人姓名
Full_address:
收货地址
Postal_code:
邮编
Mobile:
移动电话
Phone:
固定电话
c.d_category表产品类别表
表3-3d_category表
字段名
数据类型
长度
主键或外键
Id
Int
12
Pk
Turn
Int
10
En_name
Varchar
200
Name
Varchar
200
Description
Varchar
200
Parent_id
Int
10
Id:
d_category表主键
Turn:
产品顺序
En_name:
产品英语名
Name:
产品中文名
Description:
产品类别描述
Parent_id:
产品父类的类别Id
d.d_product表各种类型产品的共有信息表
表3-4d_product表
字段名
数据类型
长度
主键或外键
Id
Int
12
Pk
Product_name
Varchar
100
Description
Varchar
100
Add_time
Bigint
20
Fixed_price
Double
Here_price
Double
Keywords
Varchar
200
Has_deleted
Int
1
Product_pic
Varchar
200
Total_num
Int
11
Sell_num
Int
11