文档库 最新最全的文档下载
当前位置:文档库 › 基于JSP的网上购物系统的设计与实现

基于JSP的网上购物系统的设计与实现

摘要

本网上购物系统是一个基于Internet,采用B2C(Business to Consumers)模式,并根据现有的网上购物系统的现状而设计开发的电子商务平台。它不但可以扩大商家的规模和市场影响力,而且可以减少企业的经营成本,提高工作效率。

本文首先介绍了网上购物系统的现状及开发背景,然后论述了系统的设计目标,系统需求和总体设计方案,较详细的论述了系统的详细设计和实现。

最后,本文对网上购物系统进行了系统检测并提出了还需要改进的问题。

本毕业设计的内容是设计并且实现一个基于JSP技术的网上购物系统,主要使用了Struts+Spring+Hibernate等多种框架的结合使用,用MyEclipse 作为开发工具,以MySQL作为数据库,以Macromedia公司的Dreamweaver 作为界面美化工具,使用Java语言开发,页面采取JSP动态页面开发技术。

该系统界面简单、操作方便,容易维护。

关键词:MyEclipse;MySQL;JSP;Dreamweaver

Abstract

The shop online system is an electronic commercial platform which has been designed according to the situation of shop online system based on Internet with B2C mode. It can not only enhance the scale of shopping centre and market influence, and can also reduce the enterprise’s runnin g cost, improve work efficiency.

The thesis has firstly introduced the practical situation and the developing background of the system. And then has described the designing goal、system need and the whole designing plan, has described the detailed design and reality of the system in detail. Finally, conclusion has been drawn about the system and problem has also been raised.

The content of graduation design is to design and implement an online shopping system based on JSP technology, mainly using Struts+Spring+Hibernate and other frame used in combination, using MyEclipse as a development tool, using MySQL as the database, with Macromedia's Dreamweaver as the interface landscaping tools, the use of Java language , development page JSP, adopt dynamic page technology. This system interface is simple, convenient operation, easy maintenance.

【Key Words】MyEclipse; MySQL; JSP; Dreamweaver

目录

第1章绪论 (1)

1.1 网上购物系统的发展历程与现状 (1)

1.2 系统实现的目标 (2)

1.3 系统的开发意义 (2)

第2章系统相关技术基础 (3)

2.1 MyEclipse (3)

2.2数据库简介 (4)

2.3 Tomcat (5)

2.4 系统开发技术与MVC模式以及基本框架 (5)

2.5 B/S体系结构 (6)

第3章系统需求分析 (8)

3.1系统的开发目标 (8)

3.2网站的可行性分析 (8)

3.3系统的功能分析 (9)

第4章系统概要设计 (9)

4.1系统功能模块设计 (9)

4.2数据库设计 (14)

4.2.1数据库需求分析 (14)

4.2.2数据库结构设计 (14)

第5章系统详细设计 (17)

5.1系统功能实现的主要架构 (17)

5.2系统各功能模块的实现 (17)

5.2.1用户登录模块的实现 (17)

5.2.2购物车模块的实现 (19)

5.2.3后台管理模块的实现 (21)

第6章系统测试 (24)

6.1系统测试的目的 (24)

6.2系统测试的方法 (25)

6.3系统测试环境 (25)

6.4本系统测试 (26)

第7章结论 (29)

参考文献 (31)

第1章绪论

1.1 网上购物系统的发展历程与现状

上世纪90年代以来,随着网络、通信和信息技术的突破性进展,Internet 在全球爆炸性增长并迅速普及。在这一前提下,电子商务应运而生了。电子商务是基于互联网、以交易双方为主体、以银行电子支付和结算为手段、以客户数据为依托的全新的商务模式,它可以使商家与供应商更紧密地联系起来,更快地满足客户需求,也可以让商家在全球范围内选择最佳供应商,在全球市场上销售产品。自1998年“电子商务年”以来,电子商务在全球发展迅猛,大约每九个月其交易额就翻一番,全球电子商务交易额达到数千亿美元,电子商务收入剧增262%。

近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或商品交易。这种全新的交易方式实现了商家与用户间文档与资金的无纸化交换。网络购物也正适应了当今社会快节奏的生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的商品。

日前公布的一项研究结果显示,我国电子商务产业近年来发展迅速,目前网上商店总数已经超过10万家,网上展示的商品总数约为2000万件。该项研究是由上海东方网诚数据科技有限公司进行,研究对象包括全部拥有独立域名和网上商店系统的网站,以及部分租用第三方平台、具有一定规模的网上商店,但不包括设在易趣、淘宝、易拍等拍卖网站上的店铺。

目前在国内PHP与ASP应用最为广泛,而JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。比较出名的如IBM的E-business,它的核心是采用JSP/Servlet的WebSphere;西方另外一个非常著名的电子商务软件提供商Intershop,它原来的产品Intershop1,2, 3, 4占据了主要的电子商务软件份额。它们都是通过CGI来提供支持的。但去年10月后它推出了

Enfinity,一个采用JSP/Servlet的电子商务Application Server,而且声言不再开发传统软件。总的来说,ASP,PHP,JSP三者都有相当数量的支持者,而这三者也各有所长,在开发过程中,我们应该根据实际的需要来使用最合适的技术,本系统则采用较新的JSP技术,一方面JSP的安全性和跨平台性比较好,另一方面,我也希望能从开发该系统的过程中,深入学习一下这门编程语言。

1.2 系统实现的目标

现在大多数网上购物系统要求的不仅是要有漂亮的网页,更要有严谨的规划,注重每一个细小的环节,这样才能使得在电子交易时避免不必要的错误发生。我们将使用HTML、JSP等技术来编辑网页,并运用JDBC技术把数据库和动态网页相关联。传统的管理信息系统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大时还可以,但是当数据量比较大,并且有较强的专业性时,录入的费用和出错的可能性都相应上升。本设计在实际应用中的解决方案是建立网站以及自己的数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解商品买卖的情况。

1.3 系统的开发意义

随着Internet的发展,为改变传统的商业运作模式,人们提供了一种技术上的可行性的方案:利用Internet的技术和协议,建立各种企业内部网Intranet,企业外部网Extranet,通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为:电子商务。

电子商务的迅速发展,使得人类社会突飞猛进,网络销售是其中一个重要的附加产品。从购物测试看,中国电子商务的发展前景很好,其购物潜力巨大。但目前我国网络使用主要在电子邮件、个人主页、信息传播、还有销售管理系统等。

当今比较流行的网上购物系统国外有“淘宝(https://www.wendangku.net/doc/759660524.html,)”,国内有“当当(https://www.wendangku.net/doc/759660524.html,)”,它们都是相当优秀的电子商务网站,为其他的网站提供了良好的典范。设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。

总之,伴随着个人电脑的普及和使用电脑人口的增加,网络销售在众多的销售渠道中脱颖而出,其地位及占有量一定会逐渐增加。技术革命引发产业结构变革,市场的竞争规则也会跟着发生变化,网络销售的产生是流通领域中的一场革命。

第2章系统相关技术基础

2.1 MyEclipse

在开发本平台中所用到的开发工具就是是知名的java项目开发工具MyEclipse。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的一种扩展,利用MyEclipse,我们可以在数据库和J2EE的开发、发布,以及在应用程序服务器的整合当中极大地提高系统的工作效率。MyEclipse是一个功能非常丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, JavaScript, SQL, Hibernate。

在结构上,MyEclipse的特征可以被分为7类:J2EE模型,WEB开发工具,EJB 开发工具,应用程序服务器的连接器,J2EE项目部署服务,数据库服务,MyEclipse 整合帮助。

对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任易一个模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。

MyEclipse的版本有很多,本购物系统可以使用的MyEclipse的版本也很多,但是基于MyEclipse6.5的稳定性好,所以我选择MyEclipse6.5作为我的开发工具。

MyEclipse开发界面如图2.1所示。

图2.1 MyEclipse开发界面

2.2数据库简介

数据库使用的是MySQL数据库。MySQL的特性:使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性,支持多种操作系统。为多种编程语言提供API。这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python和Ruby等。支持多线程充分利用CPU资源。优化的SQL查询算法,有效地提高查询速度。既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5都可以用作数据表名和数据列名。提供TCP/IP、ODBC 和JDBC等多种数据库连接途径。提供用于管理、检查、优化数据库操作的管理工具。可以处理拥有上千万条记录的大型数据库。MySQL的应用:与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这

丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,

MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体成本。

2.3 Tomcat

Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。

Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet 容器是Tomcat的默认模式。

2.4 系统开发技术与MVC模式以及基本框架

本系统采用JSP技术,基于MVC模式开发,使用SSH框架(Struts、Spring、Hibernate)来增加系统的开发速度。所谓的MVC模式是"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器"。程序就是用Struts和Hibernate这两个框架来实现模型层和控制器这两层,JSP实现视图这一层。一般来说程序就是在数据库和页面之间起桥梁作用的,JSP页面请求先到action,再到Dao,再回到action,回到JSP页面。action主要处理来自页面的请求,Dao主要是和数据库的交互,Struts主要用在action,处理来自页面的请求,处理完请求后跳转回页面。Hibernate主要用在Dao,包括对数据库的增、删、改、查的操作,Spring控制程序的流程。

S.S.H框架是J2EE应用中Struts+Spring+Hibernate三大免费开源框架的结合

使用, 它可以看成工具,也是中间件。他是用来提高我们的开发效率,提高我们软件产品的可维护性、可扩展性乃至敏捷性的。他们里面有很多优秀的设计理念及模式应用。它由以下3个框架构成:

1.Struts框架

Struts是Apache组织的一个开放源码项目。Struts是一个比较好的MVC框架,提供了对开发MVC系统的底层支持,它采用的主要技术是Servlet,JSP和Custom tag library。

2.Spring框架

Spring 的核心是个轻量级(Lightweight)的容器(Container),它是实现IoC (Inversion of Control)容器、非侵入性(No intrusive)的框架,并提供AOP (Aspect-oriented programming)概念的实现方式,提供对持久层(Persistence)、事务(Transaction)的支持,提供MVC Web 框架的实现,并对一些常用的企业服务API(Application Interface)提供一致的模型封装,是一个全方位的应用程序框架(Application framework),除此之外,对于现存的各种框架(Struts、JSF、Hibernate 等),Spring 也提供了与它们相整合的方案。

3.Hibernate框架

Hibernate 是一个开放源码的ORM 持久层框架。作为优秀的持久层框架实现,Hibernate 框架提供了强大、高性能的对象到关系型数据库的持久化服务,开发人员可以使用面向对象的设计进行持久层开发。简单的说,Hibernate 只是一个将持久化类与数据库表相映射的工具,每个持久化类实例均对应于数据库表中的一个数据行而已。用户只需直接使用面向对象的方法操作此持久化类实例,即可完成对数据库表数据的插入、删除、修改、读取等操作。

2.5 B/S体系结构

在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,

服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web Server 完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任

务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三层体系结构如图2.2所示。

图2.2 B/S三层架构示意图

这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子"苗条"了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。

第3章系统需求分析

3.1系统的开发目标

现在流行的网上购物系统不仅要有漂亮的网页,更要有严谨的规划,注重每一个细小的环节。这样才能使得在电子交易时避免不必要错误发生。我们将使用HTML、JSP等技术来编辑网页,并运用JDBC技术把数据库和动态网页相关联。传统的管理信息系统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大时有很多的应用场合。当数据量比较大,并且有较强的专业性时,录入的费用和出错的可能性都相应上升。本设计在实际应用中的解决方案是建立网站, 以及自己的数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解商品买卖的情况。

3.2网站的可行性分析

可行性分析是在全面调查基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、运行的方面进行分析和研究,以避免投资失误,保证新系统开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。这部分将从以下三个方面进行研究:技术可行性、经济可行性、操作可行性。

(1)技术可行性

因为计算机硬件的发展已经越来越快,现在PC机的性能已经可以胜任普通网站的web服务器。购买一台高性能PC机作为企业的网站对于这个营销商来说并不是问题。

JSP是Java在Internet/Intranet Web上的重要应用技术,可以和各种Java 技术完好的结合在一起从而实现非常复杂的应用。因此得到了广泛的支持和承认,成为一种非常流行的网站开发技术。利用JSP技术可以建立先进、安全和跨平台的动态网站。鉴于JSP技术的成熟与广泛的使用,加以指导老师的帮助可以得到很多的技术支持。虽然在校学习数据库时一直以SQL Server作为例子,但是我个人对MySQL数据库的了解偏多,所以采用MySQL作为数据库的后台。

(2)经济可行性

根据调查的资料,现在聘用一支团队设计并建设企业商务型网站的费用为

5300元左右,另外每年交纳600元占用网站空间和网站维护费。为了使网站建成后能达到增加企业经济效益的效果,寻找一支创新与技术优秀的团队最多需要增加3000元的一次性投资。这样看来一个成功的网站建成后为这个营销商带来的效益将会远大于成本。但架设好一个网络中的服务器,以满足互联网中浏览者对速度的需求,这样每年服务器与网络线路和设备的维护费用将是企业不得不重点考虑的因素。如何做好经济可行性分析,需要通过仔细的调查与投资和行业方面的专业人士分析。

(3)操作可行性

如今,计算机与网络已经非常地普及。特别是在企业信息化高需求与快速发展的时代,计算机应用已经成为企业员工必备的技能。由于这个课题是以PC机作为服务器的网站,营销商可以自己对网站进行操作和管理。

3.3系统的功能分析

根据上面的需求分析,需要设计出网站的前台与后台。用户在前台所浏览的内容,网站的后台需要能相应的做出更新或修改。

前台功能:提供用户的注册和登录功能。用户能够随意浏览商品,包括使用搜索功

能和使用排行榜功能,方便用户获取商品的详细信息,如图片预览、商品描述。可以查询以及确认订单信息。登录用户可以使用购物车,可以对购物车中的商品进行修改,包括修改商品的数量,删除商品和回复商品。可以编辑订单信息,最后生成订单。

后台功能:管理员可以配置一些信息管理本网站。管理员可以管理商品。可以管理订单信息,包括订单状态的修改,订单的删除。可以管理用户的信息,包括用户的删除。

设计完成后的网站具有:建成后的网站系统是一个综合性电子商务网站,基本完成了商城及用户对网站的要求。

第4章系统概要设计

4.1系统功能模块设计

1)功能结构图如图4.1所示。

图4.1功能结构图

从图中可以看出,网上购物系统可以分为前台和后台两个部分,前台部分由用户使用,主要包括注册登录、商品浏览、购物车管理、订单模块、顾客留言、修改注册资料6个模块;后台部分由管理员使用,主要包括商品分类管理、商品管理、订单管理、会员管理、系统用户管理5个模块。

2)前台购物流程图如图4.2所示。

图4.2前台购物流程图3)注册功能流程如图4.3所示。

图4.3注册功能流程图

注册的具体实现为:点击主页面的用户注册选项后,会弹出一个注册信息页面,用户需要如实填写用户名,密码,E_mail,地址,电话,真实姓名等各项信息,提交后,系统进行检测判断该用户名是否已经注册过,如果已经存在则弹出新页面,提示用户该用户名已经注册过,如果没有则进行下一步判断用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入用户表并提示用户注册成功,用户登陆后,就可以进行有效的进行购物了。

4)商品搜索流程如图4.4所示。

图4.4 商品搜索流程图

商品的搜索功能使用户更加方便的进行自己所需要的商品的查询,节省时间,提高效率。用户搜索时只要输入商品的关键字就能搜索到所有相关的商品。

5)用户登录流程如图4.5所示。

图4.5 用户登陆流程图

首先,用户要有一个用户名和密码。商务网站需要很高的稳定性和安全性,因此对用户名不允许使用恶意的代码作为用户名。同时对密码也要求保密,将密

码加密后再存入数据库。另外,一个电子商务网站。用户的真实姓名是必不可少的。除此之外还需要用户地址、E-MAIL、手机、QQ等。

6)商品管理流程如图4.6所示。

图4.6 商品管理流程图

在该功能模块里管理员可以添加和删除商品,在这里管理员当然也可以浏览到商品的详细信息。并且比普通用户在浏览商品界面里所看到的商品信息多一个该商品在数据库中的编码。

7)购物车流程如图4.7所示。

图4.7 购物车流程图

在该功能模块里用户可以查看购物车中的商品,如果用户对所添加的商品感到满意,可以直接下订单;如果不满意,可以删除该商品。

4.2数据库设计

4.2.1数据库需求分析

数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有MySQL,SQL Server, Oracle等。我采用了MYSQL数据库管理系统。

整个系统功能需要以下数据项:

地址表信息(地址编码、地址、关联的用户编码)

用户表信息(用户编码、用户名、地址、添加时间、答案、邮箱、密码、联系方式、QQ、真实姓名、是否删除标志、问题)

商品表信息(商品编码、商品名、添加时间、热销推荐、商品图片、商品简介、库存数量、原价、优惠价、商品是否删除标志、销量、关联的分类编码)分类表信息(分类编码、分类名、是否删除标志)

购物车表信息(购物车编码、商品名、库存、原价、优惠价、数量、关联的用户编码)

订单表信息(订单编码、地址、添加时间、联系方式、订单状态、总价格、用户名、关联的用户编码)

评价表信息(评价编码、评价、添加时间、评价状态、评语、关联的商品编码、关联的用户编码)

4.2.2数据库结构设计

在建设网站系统之前,我们必须对系统所用到的数据进行大致的分类和具体的结构设计,既要做到清晰明了,又要能适应系统各项功能的调用,而不至于产生结构上的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说数据库是系统的重中之重。

数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。尽量分离各实体对应的表,一个实体对应一个表,搞清楚该实体有哪些属性,对

应有些什么字段,以及各实体之间有何种联系。实体、属性与联系是进行概念设计时要考虑的三个元素,也是一个好的数据库设计的核心。

地址表如表4.1所示。

用户表如表4.2所示。

分类表如表4.4所示。

表4.4分类表

购物车表如表4.5所示。

订单表如表4.6所示。

评价表如表4.7所示。

第5章系统详细设计

5.1系统功能实现的主要架构

SSH框架就是Struts+Spring+Hibernate的简称,运用3个框架的集成协作使用,可以有效的提高代码编写的效率,从而有效的降低程序开发的周期。

5.2系统各功能模块的实现

5.2.1用户登录模块的实现

网站主页面如图5.1所示。

图5.1网站主页面

用户登陆模块是防止非法用户登陆的第一道防线,通过它可以保护后台数据库的安全性,当用户要进行定购时,首先要进入的就是身份验证界面,只有在密码正确的情况下才能进行以后的购物,如果输入的密码不正确,则不能进行定购。如果用户以浏览者的身份进入网站,则只能进行一般的商品浏览和搜索,而不能进行选购,在点击添加购物车后,系统会判断该用户是否是登陆用户,如果不是

相关文档
相关文档 最新文档