文档库 最新最全的文档下载
当前位置:文档库 › 毕业论文-基于struts2购物网站的设计与实现

毕业论文-基于struts2购物网站的设计与实现

本科生毕业论文(设计)

题目:基于Struts2购物网站的设计与实现

学生姓名:

学号:

专业班级:计科09102班

指导教师:

完成时间: 2013 年 5 月

目录

摘要.................................................................................................................................................................... III Abstract .............................................................................................................................................................. IV 第1章绪论.. (1)

1.1选题背景 (1)

1.2论文所做的工作 (2)

1.3论文结构的安排 (3)

第2章电子商务基础和相关技术 (4)

2.1电子商务简介 (4)

2.2 Struts2 (4)

2.3 Hibernate (5)

2.4 Spring (7)

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

3.1开发可行性分析 (9)

3.1.1技术上的可行性 (9)

3.1.2管理上的可行性 (9)

3.1.3经济上的可行性 (9)

3.2功能需求分析 (10)

3.2.1需求提取 (10)

3.2.2需求分析 (10)

3.3数据库分析 (14)

3.3.1系统E-R图 (14)

3.3.2数据字典 (15)

第4章系统总体设计 (20)

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

5.1 系统的MVC分层架构设计 (26)

5.1.1 Model层设计 (26)

5.1.2 View层设计 (26)

5.1.3 Control层设计 (26)

5.1.4 Spring框架在系统中的作用 (27)

5.2商品管理模块实现 (27)

5.2.1商品添加功能实现 (28)

5.2.2商品管理功能实现 (31)

5.2.3订单管理功能实现 (36)

5.2.4会员管理功能实现 (37)

5.3用户购物模块实现 (38)

5.3.1购物商品列表功能实现 (38)

5.3.2购物车管理功能实现 (38)

5.3.3会员订单查看功能实现 (40)

第6章测试 (42)

结束语 (45)

参考文献 (46)

致谢 (47)

附录 (48)

摘要

伴随着计算机技术在各行各业日益广泛和深入的应用,网络的概念早已深入人心。网络在各行各业的发展战略中占据了重要的位置,成为商家不可分割的部分。商品的宣传已不只局限于电视与报纸,网络已成为商家展示自己的另一个舞台。商家建立网站,将商家各方面的宣传与服务展现于网络中,通过网络更可实现如网上购物、信息查寻等功能,这些在改变我们原有经营方式与经营理念的同时,也为商家带来了更高的效益。因此,对于商家来说,拥有一个属于自己的网站是至关重要的。本文从网上购物电子商务平台入手,对电子商务的组成、特点、流程等进行了研究并对电子商务平台的体系结构、Struts2设计模式框架、Hibernate对象持久化框架、Spring依赖注入等关键技术进行了深入探索,掌握了电子商务平台的设计方法、开发流程以Struts2框架和Hibernate框架在电子商务平台开发中的运用。在此基础上实现了商品信息管理、用户订单管理、在线购物管理、购物车管理等电子商务平台中重要功能。通过开发过程的实践,系统的总结了电子商务平台的开发经验,探讨了电子商务平台的具体的分析方法、建立模块方法和设计开发的工作流程以及测试方法。在总结以前经验的同时,也分析了系统之中有待深刻探讨解决的问题和深入研究的不足之处。

关键词:电子商务,购物网站,Struts2,Hibernate,Spring,MySql

Abstract

Follow the technology of the computer in the enterprise and deep application day by day of all trades and professions, the concept internet has been deeply tak en up people’s heart. Today , the internet takes an very important part in the development tactics of all trades and professions, became a part of an company which can not be partition off. The merchandise has not only limited in TV set and newspaper. The internet has became another stage which company can display themselves. Company set up web site, and make propaganda and service of all aspects of company, display on the internet. Though internet we can achieve buying products on the internet, searching message and so on. Those have changed old way of management and idea of management, meanwhile those also bring more yield for company. So, for the business company, have a web site which is belong to themselves is very important.Start from the online shopping e-commerce platform on the composition, characteristics, processes of e-commerce research and e-commerce platform architecture, Struts2 design pattern framework, Hibernate object persistence framework, Spring dependency injection and other key technologiesin-depth exploration, mastered the design of the e-commerce platform, the development process in the development of e-commerce platform Struts2 framework and Hibernate frameworks. On this basis, commodity information management, customer order management, management of online shopping, shopping cart management, e-commerce platform. Practice through the development process, the system summed up the experience in the development of e-commerce platform to explore the specific methods of analysis of the e-commerce platform, the establishment of the modular approach and the design and development of workflow and test methods. At the conclusion of the previous experience, to be deeply explore the problems and the lack of in-depth study of the system.

.Keywords:E-commerce,Shopping site ,Struts2,Hibernate,Spring,MySql

第1章绪论

1.1选题背景

互联网已经深入到人们生活的各个角落,成为人们工作、生活中不可缺少的一部分。互联网已经发展成了“第七个州”,即虚拟州,世界上的每个人都生活在虚拟州中。一个人要想生存,一个企业要想发展,就必须采取一种新的生存方式和新的竞争手段去适应可能面对的各种困境。面对互联网本身所据有的低成本、全球性、高效率、开放性等特点,以前的商业模式暴露的问题也越来越多,原有的商业格局和运作模式在互联网上显得那样的苍白无力,世界上互联网的发展趋势给传统商务工作带来了巨大的压力,而同时也带来了巨大的动力和机遇,而相对的也带来了新的挑战,同时机遇是潜在的存在,而这些就是迫使我们拆散原有商业格局的催化剂,变革原有的商业模式来契合互联网的发展以获取最大效益。据权威调查在我国目前大约有上万家大中型企业使用了互联网,其中一些企业甚至拥有了自己的主页和服务器。任何新事物的诞生都是代表着一种发展趋势,只有那些符合进步的趋势才会得到大家的认可。电子商务(Electronic Commerce)就是这样一种新生事物,电子商务对人类社会进行着全方位的改造,在企事业单位、各种公共机构、教育以及娱乐等各个方面改变着人类之间向往的方式,为人们展示了一个多姿多彩的世界。由于电子商务(Electronic Commerce)的出现,从前的经营模式以及经营理念必将发生变化。电子商务(Electronic Commerce)将会实现巨大的效益和机会,会将市场的时间形态、空间形态、虚拟形态结合到一起、将资金流、信息流、物流汇集成良性循环的开发性环路,使经营者以市场为纽带,在市场上发挥出最佳的作用,以及得到最大的效益。电子商务(Electronic Commerce)的发展,不但能够有力地推动互联网的发展,而且对社会的进步

和经济的变革产生深远影响,而且更重要的是电子商务(Electronic Commerce)本身的发展为我们提供了巨大的机会。企业家利用先进的科学技术为人们营造越来越广阔的“电子空间”,在人们感受到科技发展带来的种种好处的同时,也代表着信息时代的经济即将腾飞。现在越来越多的企业希望通过电子商务(Electronic Commerce)来获得更广阔的发展空间,而越来越多的人渴望了解并亲身参与到电子商务中去,目前精通电子商务的人才短缺问题是阻碍我国电子商务发展的一个重要因素。因此,我设计并研发了这套网上购物系统,将电子商务中所涉及的各种理论知识和相关技术集成到此套系统中,期望能够模拟出使用者通过使用该系统深入浅出的了解其中的某些关键信息技术,使其体会出网上购物系统的内部工作机理,并加深对网上购物运营方式的了解与认识。

1.2论文所做的工作

论文所做的工作就为了开发出这套应用系统,并使系统能够达到适合使用的标准以配合模拟者的实际使用,通过深入研究电子商务网上购物相关的各种文档加深对电子商务的了解认知,主要包括:电子商务的安全技术与标准、电子商务的基础知识、电子商务的网上支付技术以及如何建立电子商务网站等各项技术。本文从网上购物电子商务平台入手,对电子商务的组成、特点、流程等进行了研究并对电子商务平台的体系结构、Struts2设计模式框架、Hibernate对象持久化框架等关键技术进行了深入探索,掌握了电子商务平台的设计方法、开发流程以及Struts2框架和Hibernate框架在电子商务平台开发中的运用。在此基础上实现了商品信息管理、用户订单管理、在线购物管理、购物车管理等电子商务平台中重要功能。通过开发过程的实践,系统的总结了电子商务平台的开发经验,探讨了电子商务平台的分析方法、建模方法和开发的工作流程以及测试方法。在总结经验的同时,也分析了系统中有待探讨解决的问题和研究的不足之处。

1.3论文结构的安排

论文结构的安排由于电子商务系统本身是一个涉及多领域、多学科的复杂系统,本篇论文所涵盖的内容与体系设计涉及多个方面。现在将整篇论文的结构介绍如下:

第一章主要对论文的选题背景进行阐述,对论文的主要工作进行了概括性的说明,阐明本篇论文选题的现实作用和其积极的意义,最后简要介绍了本文的组织结构。

第二章介绍了本文所涉及到的相关概念和关键技术,首先对电子商务领域的一些基本概念进行了介绍,然后对构建网上购物电子商务平台所需的一些关键技术进行了研究,包括结构模式、Struts2框架、Hibernate框架、Spring框架等。

第三章对系统的分析进行了详细的阐述,对系统进行了需求分析,给出了系统用例和详细的用例说明,最后系统数据库需求进行了分析。第四章对系统的设计进行了说明,首先根据系统特性明确了系统的设计原则,然后风别从功能和数据库两方面进行设计。

第五章给出了系统中各个组成模块的具体实现过程及安装部署说明。

第六章对课题进行总结。

第2章电子商务基础和相关技术

2.1电子商务简介

一个完善的电子商务系统应该包括哪些部分,目前还没有权威的论述。从总体上来看,电子商务系统是三层框架结构。底层是网络平台;中间是电子商务基础平台;而第三层就是各种各样的电子商务应用系统。电子商务基础平台是各种电子商务应用系统的基础。电子商务具有以下几个主要特点:系统性、动态关联性、经济性、竞争性。

2.2 Struts2

1)Struts2的起源

当Java Servlets刚刚开始出现的时候,由于它速度很快而且功能强大,许多开发人员很快就意识到这是一个非常好的技术。但是不停的地使用println方法向浏览器提供HTML 是一个比较简单的操作过程。比较深层次的解决方法是利用JSP在Servlet内部进行处理。即可轻松地把HTML与JA V A结合在一起。但是这种方法在解决控制流和某些特定问题上存在明显缺陷。于是开发工作者想到将JSP和Servlet联合起来构成网络应用,其中Servlet 操作控制流,JSP用来完成HTML——是解决这些问题的一种很好的模式,这就是众所周知的Mode2目前Struts 2.0正式版已经推出,它是Struts2整合了WebWork后的产品。对传统的Struts2做出了很大的改进。其中包含许多新特性,主要包括整体性能的提高、全功能的WebFlow支持,包括JSP、FreeMarker和Velocity,quickstart的快速体验、全新的示例程序、更好更多的智能错误报告、用户界面改进等。

2)Struts2的特性

基于Struts2框架的Web应用程序基本上符合Model2的设计标准,可以说是传统MVC 设计模式的一个变种。Struts2框架将MVC模式分离显示逻辑和业务逻辑的能力发挥得淋漓尽致。Struts2继承了MVC的各项特性,它包括框架类、帮助类和定制的JSP标签库,以及大量基于J2EE Model2设计模式的应用技术。它为开发者建立Web应用提供了一个强大、方便、可扩展的开发环境。

3)Struts2的体系结构

Struts2是基于Model2之上的,Model2是经典MVC模型的Web应用变体,这个改变主要由于HTTP的无状态性引起的,Model2和MVC一样,也是利用控制器来分离模型和视图,达到一种层间松散耦合的效果,以提高系统灵活性、复用性和可维护性。Struts2继承了MVC的各项特性,并根据J2EE的特点,做了一些变化和调整。作为MVC模式的典型实现,对Model、View和Controller都提供了实现组件其具体的实现,如图2.3所示。

图2.1 Struts2框架结

2.3 Hibernate

Hibernate是一个面向Java环境的对象/关系数据库映射工具。对象/关系数据库映射(Object/Relational Maing)表示一种技术,用来把对象模型表示的对象映射到基于SQL的关

系模型数据结构中去。Hibernate从问世的那天起,就爆发了一场对数据持续性处理问题的激烈讨论。所以在目前行业的Java数据库应用项目中,许多的开发人员开始使用Hibernate 在数据库上的应用,从而将开发人员从重复、技术含量不高、繁琐的数据库编程中解脱出来。在Hibernate诞生之前,开发人员要非常麻烦的将面向对象的软件和关系结合在一起。而借助Hibernate对象/关系数据库映射(ORM))技术,可以轻松地将对象的各个状态数据映射到基于SQL的关系模型数据结构中去。而Hibernate中最核心的技术是ORM,就是将Java中的对象与对象之间的关系,对应到关系型数据库中的表格与表格的关系,Hibernate 提供了方案,相反地,也提供数据库表与表之间的关系,对应Java程序中对象之间的关系。Hibernate中提供了数据查询和获取数据的方法,从而大幅度减少了开发时人工使用SQL 和JDBC处理数据的时间。Hibernate的系统结构正如上面所介绍的,Hibernate的持久化解决方案将用户从赤裸裸的JDBC访问中释放出来,用户不再关注底层的JDBC操作,而是以面向对象的方式进行持久化操作。这种“全面解决”的体系结构,如图2.2所示:

图2.2 Hibernate体系架构图

下面对上图中各对象逐一进行说明:SessionFactory,这是Hibernate的关键对象,它是线程安全的,因为它是单个数据库映射关系经过编译后的内存镜像。它本身要用到ConnectionProvider。Session对象有一个一级缓存,显示执行flush之前,所有持久化操作的数据都缓存在Session对象处。持久化对象,系统创建的POJO示例,一旦与特定的Session 关联,并对应成数据表的制定记录,该对象就处于持久化状态,这一系列对象都被称为持久化对象。在程序中对持久化对象执行修改,都将自动被转换为持久层的修改。事务(Transaction),代表一个原子操作,它具有数据库事务的概念。但它可以通过抽象,把应用程序从底层具体的JDBC、JTA以及CORBA事务中隔离开。

2.4 Spring

Spring作为实现J2EE的一个全方位应用程序框架,为我们开发企业级应用提供了一个健壮、高效的解决方案。主要有以下几个特点:

1 非侵入式:对于写代码从来不考虑复用和移植的程序员来说,这一点根本就没有吸引力,那么请跳过。所谓非侵入式是指Spring框架的API不会在业务逻辑上出现,也就是说我们的业务逻辑应该是纯净的,不能出现与业务逻辑无关的代码。首先针对应用而言,这样我们才能将业务逻辑从当前应用中剥离出来,从而在其他的应用中实现复用;其次针对框架而言,由于业务逻辑中没有Spring的API,所以业务逻辑也可以从Spring框架快速的移植到其他框架。

2 容器:Spring提供容器功能,容器可以管理对象的生命周期,对象与对象之间的依赖关系。你可以写一个配置文件(通常是xml文件),在上面定义对象的名字,是否是单例,以及设置与其他对象的依赖关系。那么在容器启动之后,这些对象就被实例化好了,

你直接去用就好了,而且依赖关系也建立好了。

3 IOC:控制反转,谓之“依赖关系的转移”,如果以前都是依赖于实现,那么现在反转为依赖于抽象吧,其实它的核心思想就是要面向接口编程

4 依赖注入:建立对象与对象之间依赖关系的实现,包括接口注入、构造注入、set 注入,在Spring中只支持后两种

5 AOP:面向方面编程,我们可以把日志、安全、事务管理等服务(或功能)理解成一个“方面”,那么以前这些服务一直是直接写在业务逻辑的代码当中的,这有两点不好;首先业务逻辑不纯净,其次这些服务被很多业务逻辑反复使用,完全可以剥离出来做到复用。那么AOP就是这些问题的解决方案,我们可以把这些服务剥离出来形成一个“方面”,以期做到复用;然后将“方面”动态的插入到业务逻辑中让业务逻辑能够享受到此“方面”的服务。

其他还有一些特点不是Spring的核心,这里只做简单陈述,如:对JDBC的封装与简化,提供事务管理功能,对O/R mapping工具(hibernate、iBATIS)的整合;提供MVC 解决方案,也可以与其他web框架(Struts2、JSF)进行整合;还有对JNDI、mail等服务进行封装。

第3章系统需求分析

3.1开发可行性分析

3.1.1技术上的可行性

根据系统目标需求分析得结果来看,不需要通过购买专业软件,仅采用基本的J2EE 开发工具,就可以解决相关的问题,从而保证系统功能的实现。

3.1.2管理上的可行性

把企业业务延伸到Internet上,建立了电子商务网站,这样,对于企业来说,可以通过网络方便的展示信息,快捷的进行购物等商务活动。因此,企业中的管理人员也不会对此有很大的抵触情绪,主管领导也能够给予相应的支持。

3.1.3经济上的可行性

企业在运营过程中,会经常遇到产品的宣传受到限制等情况,会有一些地理位置相对较远的客户与企业,这样,采购商或顾客只能通过上门咨询或者电话沟通等方式进行各种信息的获取与交换,也受到了时间与物理空间的局限并且成本随之提高。而本系统可以帮助企业正确认识电子商务技术在企业中的重要地位,以少量的时间和资金建立企业信息门户网站并架设一定范围的商务网络,以此来是企业与顾客间的经济活动变得更灵活、更主动。

3.2功能需求分析

需求分析就是描述系统的需求,通过定义系统中的主要类来建立模块。开发者和提出需求的人之间建立一种理解和沟通机制这才是分析的根本目的所在,所以电子商务网上购物系统的需求分析也必须是开发人员和用户(或客户)一起才能完成的。需求分析一般包含两个步骤,首先进行需求提取,通过调研,与客户充分交流沟通咨询等手段获取需求信息,对系统的需求进行概括性的描述。然后再需求提取的基础上再通过识别参与者、绘制用例图以及进行用例描述等方法进行进一步的需求分析。

3.2.1需求提取

电子商务网上购物系统的简单流程是:商品管理员进货后,整理归类,将商品信息发布到网站上。网络用户登录该网站后,自行注册,购得商品,提交购物单给商品管理员。管理员根据具体情况更改订单的状态(已下单,未受理/已受理,未发货/已发货,交易未结束/交易成功).

3.2.2需求分析

1、识别参与者

从上面的文本需求说明可知,电子商务购物系统的角色可以划分为两类。商品管理员:拥有所有权限。用户(购物者):浏览商品列表、任意选购商品、任意填写购买数量、修改购买数量、删除已选择的商品、取消购买、提交购买下达订单和查看自己订单的处理进度。

2、系统用例图

根据上述分析,画出系统的主要用例图,如图3.1所示。

图3.1 系统用例图

3、系统用例说明

表3.1 商品管理用例说明

名称、标识符 商品管理

功能描述 对商品进行增加、删除、修改、查询、发布 优先级 高

输入 输入初始化的商品 输出 显示商品的基本信息 补充说明

首先要求的就是能够添加商品

登录

商品管理

后台管理员

订单管理

会员管理 系统用户管理

会员信息修改

会员

前台订单管理

购物车管理

购物 浏览商品

会员注册

非会员

商品搜索

表3.2 订单管理用例说明

名称、标识符订单管理

功能描述查看订单、删除订单、修改订单的状态

优先级高

输入主要选择订单的四种状态:已下单,未受理/已受理,未发货/已发货,交易未结束/交易成功

输出主要是显示订单的基本信息和订单状态

表3.3 会员管理用例说明

名称、标识符会员管理

功能描述管理员可以查看所有注册用户、删除某一用户、修改某一用户的基本信息

优先级低

输入输入用户的基本信息

输出用户的基本信息

补充说明主要是对用户进行审核,若有不守信用的会员可以及时删除

表3.4 用户注册用例说明

名称、标识符用户注册

功能描述注册用户的信息包括登录账号、密码、核对密码、真实姓名、联系电话、联系地址、邮政编码、电子邮箱

优先级高

输入输入用户的基本信息

输出把填入的信息保存到数据库,用于日后管理员的维护以及用户自己的修改

补充说明购买商品,必须先进行注册。

表3.5 选购商品用例说明

名称、标识符选购商品

功能描述可以查看所有上架商品、选择购买、填写购买数量

优先级中

输入用户将要购买的产品

输出将用户已经购买的商品基本信息显示出来

补充说明

表3.6 购物车管理用例说明

名称、标识符购物车管理

功能描述可以查看自己已选购的商品和数量、可以修改某一数量,也可以继续购物,清空购物车,提交购物车下达订单

优先级中

输入如果觉得购买的数量不如意,可以重新输入用户要购买的数量

输出把用户选好购买的商品信息显示出来

补充说明确认好了就可以下达订单

3.3数据库分析

数据库分析是整个电子商务系统开发过程中一个重要环节,它具体可以分为两个部分:一是概念模型的分析,即E-R 图的分析;二是逻辑模型的分析,即表与字段的分析

3.3.1系统E-R 图

本系统根据上面的需求分析,可以确定系统中各种实体以及他们之间的关系。规划出的实体包括用户数据实体、货物数据实体、商品类别数据实体、所购商品信息实体等。通过对实体联系的分析,设计出本系统各实体联系的E-R 图,如图3.2所示。

图3.2 电子商务系统实体关系图

商品

购买

会员 隶属 商品种类

包含

订单

购物车

拥有

购物车选购商品

拥有

包含

生成

1

n

n 1

n

1

n

1

n

1

n

n

1

生成

1 n

3.3.2数据字典

表与字段分析是建立在上面所示的电子商务网上购物系统E-R图的基础上,可以通过该E-R图确定系统中所有的表以及相应的字段。根据功能模块设计的结果可知,本系统的用户有管理员和注册用户两类,在系统中要记录用户的数据。用于管理用户和注册用户的性质和操作功能大不相同,因此,在此系统中要分别进行数据记录。首选需要如下两个数据实体。管理员数据实体:只要记录管理员的用户名和密码,这两项是进行管理功能模块登录验证时所必需的。

表3.7 管理员表(Admin)

编号字段名称字段类型说明

1ID int 主键id

2 LoginName varchar(20) 管理员用户名

3 LoginPwd varchar(50) 密码

注册用户数据实体:包括用户名、密码、身份证、性别、联系地址、联系邮编、联系电话、电子邮件等。这些信息由用户自己进行维护,管理员可以根据这些信息来了解户。

表3.8 注册用户表(member)

编号字段名称字段类型说明

1ID Int(11) 主键id

2 MemberlevelID Int(11) 会员级别id

3 LoginName varchar(20) 会员账号

4 LoginPwd varchar(50) 密码

相关文档