基于JSP网上购物系统.docx
《基于JSP网上购物系统.docx》由会员分享,可在线阅读,更多相关《基于JSP网上购物系统.docx(24页珍藏版)》请在冰点文库上搜索。
基于JSP网上购物系统
ThismodelpaperwasrevisedbyLINDAonDecember15,2012.
基于JSP网上购物系统
郑州工业应用技术学院
课程设计说明书
题目:
基于JSP网上购物系统
姓名:
田鹏
院(系):
信息工程学院
专业班级:
14级计算机科学与技术1班
学号:
05
指导教师:
欧群雍
成绩:
时间:
2017年3月6日至2017年5月11日
郑州工业应用技术学院
课程设计任务书
题目基于JSP网上购物系统
专业、班级14级计算机科学与技术1班学号05姓名田鹏
主要内容:
首先介绍了网上购物系统的现状及开发背景,然后论述了系统的设计目标,系统需求和总体设计方案,较详细的论述了系统的详细设计和实现。
最后,对网上购物系统进行了系统检测并提出了还需要改进的问题。
本系统主要为用户提供了会员注册,购物车管理,商品搜索,用户资料修改等功能,为管理员提供了商品管理,用户信息管理,新闻信息管理,广告链接管理等功能。
基本要求:
1.实现用户登录检测,密码修改;
2.动态网页的制作;
3.后台数据库的设计和管理;
4.系统的详细设计和实现;
主要参考资料:
[1]武延军,黄飞跃.精通JSP编程技术[M].北京:
人民邮电出版社,2001
[2]柏亚军.JSP编程基础及应用实例集锦[M].北京:
人民邮电出版社,2001
[3]蔡剑,景楠.JavaWeb应用开发:
J2EE和Tomcat[M].北京:
清华大学出版社,2005
完成期限:
指导教师签名:
课程负责人签名:
年月日
摘要
本网上购物系统是一个基于Internet,采用B2C(BusinesstoConsumers)模式,并根据现有的网上购物系统的现状而设计开发的电子商务平台。
它不但可以扩大商家的规模和市场影响力,而且可以减少企业的经营成本,提高工作效率。
本文首先介绍了网上购物系统的现状及开发背景,然后论述了系统的设计目标,系统需求和总体设计方案,较详细的论述了系统的详细设计和实现。
最后,本文对网上购物系统进行了系统检测并提出了还需要改进的问题。
本系统主要为用户提供了会员注册,购物车管理,商品搜索,用户资料修改等功能,为管理员提供了商品管理,用户信息管理,新闻信息管理,广告链接管理等功能。
在设计方面,本系统采用B/S三层结构,同时使用JSP技术进行动态页面的设计,从系统的安全性和代码的可重用性方面考虑,运用JavaBean对程序的关键代码进行封装。
后台数据库选用Access数据库。
关键词:
B/S结构;JavaBean;JSP;Access
前言
目前,网络正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和日常生活。
网络的诞生和发展,颠覆了传统的信息传播方式,冲破了存在于传统交流方式中时间和空间的种种壁垒,极大地改变了人类从物质到精神、从形式到内容、从生产到生活的各种活动,并且给人类带来了新的机遇和挑战。
而本次设计的任务是,构建一个电子商务网站,采用的主要技术是基于服务器端的JSP、Java的组件JavaBean,以及网页编程语言HTML。
JSP是JavaServerPage的缩写,是由SunMicrosystems公司倡导、许多公司参与建立一种动态网页技术标准,它在动态网页的建设中有强大而特别的功能。
JSP是一种服务器端HTML(或XML)嵌入Java代码的脚本语言,是开发Web动态网站快速而有效的工具,JSP的技术的优势:
1.JSP技术是用Java语言作为脚本语言的。
Java语言是成熟的、强大的、易扩充的编程语言。
2.高效性与安全性。
JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。
3.可维护性。
由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。
4.稳定性。
5.产品的多样性。
1.网上购物系统绪论
系统开发背景
近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。
于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。
网上购物系统作为B2B,B2C(BusinesstoCustomer,即企业对消费者),C2C(CustomertoCustomer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。
本文主要考虑的是如何建设B2C的网上购物系统。
网上购物是一种具有交互功能的商业信息系统。
它向用户提供静态和动态两类信息资源。
所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。
网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。
这种全新的交易方式实现了公司间文档与资金的无纸化交换。
系统实现的目标
现在流行的网上购物系统不仅要有漂亮的网页,更要有严谨的规划,注重每一个细小的环节。
这样才能使得在电子交易时避免不必要错误发生。
我们将使用HTML、JSP等技术来编辑网页,并运用JDBC技术把数据库和动态网页相关联。
传统的管理信息系统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大时有很多的应用场合。
当数据量比较大,并且有较强的专业性时,录入的费用和出错的可能性都相应上升。
本设计在实际应用中的解决方案是建立网站,以及自己的数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解商品买卖的情况。
系统的开发意义
Internet的发展,为改变传统的商业运作模式提供了一种技术上的可行性的方案:
利用Internet的技术和协议,建立各种企业内部网Intranet,企业外部网Extranet,通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。
而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为:
电子商务。
当今比较流行的网上购物系统有“淘宝,“京东。
它们都是相当优秀的电子商务网站,对其他的网站提供了良好的典范。
设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。
设计和完成一个电子商务网站的,将会牵涉到许多技术上的问题,如:
动态网页制作技术的,后台数据库的设计和管理,通过实际的制作个网站,可以避免纸上谈兵,在实践中掌握上述技术的使用。
2.网上购物系统
系统分析是平台开发的一个不可缺少的环节,为了能够使本系统更好、更完善地被设计出来,就必须先进行调查研究。
在系统调查的基础上,对新系统的功能进行细致的分析,从而才能够开发出完整的系统设计。
网站的设计目标
本购物系统由于需要演示程序,故为了演示方便,采用JSP+Access数据库的架构实现的,此系统分为前台管理和后台管理。
前台管理是友好的操作界面,供用户浏览、查询使用。
包括:
浏览商品、查询商品、订购商品、购物车、用户维护等功能;后台管理是提供给管理员的,其中包括:
商品管理、用户管理、网站信息管理、和广告友情链接等。
使管理员从繁琐的手工操作中解脱出来,并提高了办公效率。
网站的可行性分析
随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,电子商务已经成为网上的一股潮流。
我们相信要不了太长有时间,顾客就可以在网络世界上获得他们在现实世界上可以获得的所有商品和服务。
可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的市场调查得出以下四点的可行性分析:
(1)经济可行性:
该平台设计只是作为本人的毕业设计,又因为本人的设计能力有限,其功能还不能完善,所以没有什么经济效益可谈。
(2)技术可行性:
JSP+Servlet的技术已经较为成熟。
(3)运行可行性:
该系统需要搭建JVM即JAVA虚拟机和Tomcat环境,在此环境下系统,并且在正确连接数据库后可以正常运行。
(4)法律可行性:
该平台是作为毕业设计与商业无关,又因为是自主开发设计,因此不会构成侵权,在法律上是可行的。
通过以上的可行性分析,我将采用JSP+Servlet相结合的技术,运用Access数据库对网站进行建设。
网站的深入调查
经过以上的初步调查和研究,并且确定了该平台的可行性,并决定开发本平台,为了能够对现行的平台内容进行充分了解,使所要开发的平台更具有实用性和适应性,通过两个月的实习调查和指导老师的耐心介绍,设计出该平台功能如下:
1.能够完成用户基本信息录入的注册和用户基本信息的个人前台与后台管理。
2.能够完成管理员对网站的商品资料(商品添加、商品审查)会员管理(会员审查)、网站信息管理(新闻添加、修改删除、公告设置),以及常规设置(广告添加,友情链接)的功能。
3.能过电子商品的名称,电子商品的分类进行搜索。
4.能够通过查看购物车对所选商品进行确定、挑选,通过定单查询对支付费用进行确定。
经过前一阶段的调查与研究分析,我已确定了该平台设计的主要功能,对每个功能模块也作了具体描述,下面就来具体分析该平台的设计特点与具体思想。
网站设计的特点
我所设计和开发的网上购物平台是经过很长时间的调查和分析才开始具体实施的,它的主要特点是改变了以往的购物只能过现实的商场才能达到的结果,采用Web技术,借助于Internet互联网广泛应用技术,达到资源共享,提高以往购物的局限性,缩短人们的时间和提高工作效率,具有较好的交互性,从而实现信息化,规范化,系统化,网络化的平台,使整个购物活动过程简单、方便、易行。
网站开发的设计思想
网上购物平台主要是对后台管理和前台操作。
后台管理是管理员对本网站的维护,通过商品资料(商品添加、商品修改)会员管理(会员审查)网站信息管理(新闻添加、修改删除、公告设置),以及常规设置(广告添加,友情链接)等功能达到对网站的管理。
前台操作是用户登录到本网站,可以进行用户注册,通过网站的精品推荐或商品搜索功能,找到自己想要买的商品,装入购物车,提交定单进行购买。
网上购物平台的特点是客户和电子商品信息量很大,管理员需要整理的信息很多,为让管理员轻松、方便、快捷的管理,该平台采用符合购买电子商品基本的原则,满足广大客户的日益增长的数量,并达到操作过程中的直观、方便、实用、安全等要求。
系统设计的总体规则
无论哪个网站都要有它自己的设计规则。
该平台也一样,它的主要设计规则有:
简单性:
在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个网站来说是非常重要的。
针对性:
该平台设计是网上购物系统及后台管理的定向开发设计,所以具有专业突出和很强的针对性。
实用性:
该平台能完成电子商品展示和管理员管理的基本信息,具有良好的实用性。
3.系统的开发技术及主要架构
开发技术的选择
合理的选择开发技术,对于网站开发的完成情况有着非常重要的影响。
要开发一个网站,首先要选择一个动态网页开发技术。
当前比较流行的动态网页开发技术有JSP、ASP、PHP。
它们的特性比较如表3-1所示:
表3-1asp/jsp/php比较表
技术名称
ASP
JSP
PHP
对数据库的支持
好
好
好
开发难易度
容易
容易
较难
使用平台
Windows9X/NT
Windows/UNIX
UNIX
安全性
不好
好
不好
对组件的支持
支持
支持
不支持
执行方式
解释执行
编译之后执行
解释执行
跨平台
不好
好
好
这三种都是在传统的HTML代码中,利用HTML标签的扩展,构成页面。
不难看出,JSP的综合实力是最强的,尤其是在安全性和跨平台性两个方面,比其他的两种技术都要好,因此,最后我们选择基于Java的JSP技术作为动态网页的开发技术。
系统的主要架构及开发模式
系统的建设关键在于其所使用的架构,而网上购物这种基于web的系统,传统的c/s架构已经不能满足大量用户的访问和操作,b/s基于浏览器的架构则是目前网络系统应用的主流,它将大量的数据处理工作交给服务器端来处理,客户端只用通过普通的IE浏览器即可访问系统,方便快捷而且利于系统的更新和维护,java语言在该方面更是得天独厚,J2EE规范的出现则使系统的开发更加规范,层次更加清楚,更利于对复杂事务的处理,而且在安全性方面也做的更好。
基于mvc的开发流程则使开发过程更加清晰明了,利于做一些复杂的逻辑实现,从而节省了开发周期和开发成本。
3.2.1基于B/S的体系结构
在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。
B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。
服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。
浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由WebServer完成。
实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。
这种三层体系结构如图3-1所示。
图3-1B/S三层架构示意图
这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。
由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子"苗条"了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。
这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。
3.2.2基于MVC的应用开发模型
在传统的基于Web的应用系统中,例如ASP,CGI等,通常开发者将业务逻辑,数据逻辑、展示逻辑等混杂在一起,在同一个界面面里既进行后台数据库的访问和操作,同时还包含业务流程和页面表示。
这样编写出来的程序,既不利于程序员对业务代码的调试,同时也不利于编辑人员进行交互页面的设计。
同时系统也不具备可扩展性,当我们要在现有业务上进行扩展的时候,通常无法借助于现有的资源和应用,而只能够重新编写,大大增加了投资,延长了系统上线的时间,失去了竞争市场的优势。
在本网上购物系统中,将采用通行的MVC模式来构建应用。
这种结构解决了前面所述的所有问题,在我们的应用集成网络中,通过企业级高端J2EE应用服务器实现MVC开发模型。
MVC的逻辑图如图3-2所示:
图3-2应用服务器之上采用MVC开发的逻辑示意图
图3-3MVC业务流程示意图
通过这种方案,我们可以迅速地实现整个业务,其优势和特点如下:
Model(模型)层:
由EJB组件来实现,EJB将具体的业务封装在组件内部,具备安全、高性能、可重用等优秀的特征。
View(视图)层:
由JSP、HTML组成。
这一层次的特点是能够真实地展示和客户交互的界面,具备可描绘的功能。
同时能够嵌套动态数据,可以进行动态页面的展示。
同时可以方便地进行客户端的个性化定制。
根据每个客户的需求来展示不同风格的界面。
Controller(控制器)层:
是非常重要的一层,这一层是连接View和Model的纽带,同时也是将这两层进行最大限度分离的工具。
通常由Servlet来实现,Servlet和JSP虽然同样都属于页面展示工具,但分属两层。
主要在于JSP以脚本语言的形式存在,它的主要优势是进行动态数据的Web展示,而Servlet是一个完整的Java程序,进行业务的调用和流程的处理是它的长处。
通过这种模型的建立,我们的应用系统具备了非常好的性能和可扩展性。
将业务组件和展示页面进行分离,并通过Controller来描述调用关系,一方面可以提高效率,另一方面也可以增加系统扩充的能力,使我们的系统可以进行最快速度的业务扩展,以满足不同用户、不同阶段、各种各样的业务需求。
4.系统的功能和流程
网站的功能分析
经过前期的深入调查和研究,总结出该平台需要完成的一些具体功能,分析如下:
用户管理:
能够完成用户基本信息录入的注册和用户基本信息的修改。
管理员管理:
能够完成管理员对网站的商品信息管理(商品添加、商品审查)、会员管理(会员审查)、网站信息管理(新闻添加、修改删除、公告设置),以及常规设置(广告添加,友情链接)的功能。
搜索功能:
能过电子商品的名称进行搜索。
查询功能:
能够通过查看购物车对所选商品进行确定、挑选。
平台功能模块的设计分析
在平台功能的分析基础上,得到本平台的功能模块图如图4-1所示:
图4-1平台购物模块图
用户进入网上购物平台,用户可以注册,然后登录后可以进行修改资料,用户可以通过商品搜索,找到自己想要产品。
管理员可以通过后台登录进去进行会员管理,商品管理,新闻管理和广告链接管理。
在会员管理中,可以对会员就行添加删除,在商品管理中可以对商品进行添加修改,在广告链接里面可以对广告设置和友情链接进行管理。
系统流程分析
4.3.1前台购物流程
如图4-2所示:
图4-2前台购物流程图
用户再前台可以浏览商品,看到自己喜欢的商品可以选择商品,然后订购商品,这时需要进行判断,如果是没有注册的用户,那么系统跳到注册页面,如果是注册了没有登录的用户,则跳转到登录页面,已经登录的用户则跳转到购物车页面,然后去收银台结帐,然后提交订单。
注册功能流程
如图4-3所示:
图4-3注册功能流程图
注册的具体实现为:
点击主页面的用户注册选项后,会弹出一个注册信息页面,用户需要如实填写用户名,密码,E_mail,地址,电话,真实,姓名等各项信息,提交后,系统进行检测判断该用户名是否已经注册过,如果已经存在则弹出新页面,提示用户该用户名已经注册过,如果没有则进行下一步判断,用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表即member并提示用户注册成功,用户登陆后,就可以进行有效的购物了。
商品搜索流程
如图4-4所示:
图4-4商品搜索流程图
商品的搜索功能使用户更加方便的进行自己所需要的商品的查询,节省时间,提高效率。
用户搜索时只要输入商品的关键字就能搜索到所有相关的商品。
并且能列出通过搜索得到的商品的详细信息。
4.3.4用户登录流程
如图4-5所示:
图4-5用户登陆流程图
用户登录,首先要有一个提供用户登录的表单。
用户登录的表单应该嵌入整体的结构当中。
在实际的应用中,可以这样设计,如果用户没有登录,则在页面中显示用户登录的选项,用户登录后,则可隐藏用户登录的选项而代之以用户的基本信息。
首先,用户要有一个用户名和密码。
商务网站需要很高的稳定性和安全性,因此对用户名不允许使用恶意的代码作为用户名。
同时对密码也要求保密,将密码加密后再存入数据库。
另外,一个电子商务网站。
用户的真实姓名是必不可少的。
除此之外还需要用户的性别、E-MAIL、电话号码等。
商品管理流程
如图4-6所示:
图4-6商品管理流程图
在该功能里管理员可以进行不需要的商品的删除,在这里管理员当然也可以浏览到商品的详细信息。
并且比普通用户在浏览商品界面里所看到的商品信息多一个该商品在数据库中的ID。
4.3.6购物车流程
如图4-7所示
图4-7购物车流程图
购物车具体的实现可采用这种形式:
定义一个购物车的类(Class)。
1.列出商品的列表,使用户能够自由选择所需要的商品。
2.当用户在点击“添加到购物车”的链接时,执行如下功能:
检查用户购物车类是否存在。
如不存在,则建立,并注册这Session变量;在有用户购物车类存在的情况下,检查该类中是否有该商品。
如存在,则商品数量相应加1;如没有该商品,则将该商品添加到该类中。
5.系统测试及难点分析
Myeclipse开发工具
下面请看开发界面如图5-1所示:
图5-1myeclipse开发界面
是开发jsp的强有力的工具,他集成了很多插件,本网上购物系统就是在的平台上开发的。
系统测试
系统关键部分测试分析
系统完成之后,对各个模块的功能进行了详细的测试,输入数据和预测输出数据相比,发现了一些问题。
主要是在查询过程中预计查询结果和实际结果不一致,有时候达不到目的,对数据库的操作表之间的关联考虑得不够周到,因此往往会出现一些小的错误。
还有查询条件的前后数据类型不一致也是一个很常见的错误,需要靠一步步的查找解决。
各个模块组装完成后,又会出现一些问题。
比如在操作购物车结帐的这个流程中,由于是多次添加和修改,最后结帐,所以很容易造成数据混乱,必须对相应的数据关系理清楚,一些关键查询统计的SQL语句必须反复斟酌才能放在程序中使用。
单元测试分析
(1)经过上面部分的分析,我们可以得知,购物车模块是我们需要特别注意的地方,因为它涉及到了我们数据库中的大部分数据,并且是进行网上交易的最关键部分,绝对不能出现任何的差错,下面我们就针对这一模块进行用例测试:
我们以用户tp的身份登入系统,用户名是:
tp密码是:
tp
然后点击定购商品:
THEFACESHOP顶级抗皱面霜(晚霜)55g单价为71元
弹出购物车清单:
选择商品数量1确认
出现清单:
显示商品名称THEFACESHOP顶级抗皱面霜(晚霜)55g数量1合计71元
与我们估算的数据相符。
此时选择清空购物车,继续购物,点击定购商品:
THEFACESHOP顶级抗皱面霜(晚霜)55g单价为71元
选择数量2确认,出现清单:
显示商品名称THEFACESHOP顶级抗皱面霜(晚霜)55g合计142元
继续选择收银台结帐,出现帐单显示:
显示商品名称THEFACESHOP顶级抗皱面霜(晚霜)55g合计142元
与我们估算的数据也相符,证明清空购物车的功能正常有效,并没有将我们第一次选购的物品计算在内,价格的计算也正确无误。
下面我们来看后台数据库的数据:
打开购物车表basket我们可以看到以用户名tp为关键字段的两条记录中,一条是我们第一次添加到购物车的商品信息,一条是第二次添加到购物车的商品信息,我们可以发现这两条记录的区别,第二条记录THEFACESHOP顶级抗皱面霜(晚霜)55g的basket_check属性为是,subnumber属性为fywang2049,而第一条THEFACESHOP顶级抗皱面霜(晚霜)55g的basket_check属性为否,subnumber属性为空,证明该条记录没有产生订单也就是说这次无效的选购记录,并没有被计入到帐单中,和我们的预期目标一致,即该部分功能正常,测试完毕。
(2)对用户注册部分进行测试
用户名:
tp密码:
tp确认:
tpE_mail:
地址:
河南新郑市工业应用技术学院邮编:
451100真实性名:
田鹏
提交以后,弹出提示信息:
该用户已存在,用户名重复验证正常
将用户名改为:
几个空格然后其他的不变
提交之后我们会发现系统返回成功页面,但问题是用