1、#*基于 SSH电子商城的课程设计课程名称 : 基于 SSH 电子商城课程代码 :题 目 : 基于 SSH 电子商城年级/专业/班 :学生姓名 :学号 :指导老师 :开题时间 : 年 月 日完成时间 : 年 月 日#*摘要 电子商务是利用电子信息技术和网络技术进行商务活动的一种先进手段。随着网络经济的迅猛发展,电子商务作为网络化的新型经济活动,逐渐成为主要发达国家增强综合竞争实力,赢得全球资源配置优势的有效手段。计算机和网络技术的应用推进了信息社会的进程,而电子商务则造就了全新的经济运行方式,将给社会经济带来重大的变革。电子商务为中小型企业的经营和管理打开新的局面。网络购物作为电子商务一个重要
2、的应用,在新的贸易经济体制中占据了重要的位置,对未来的电子商务的发展发挥着主导作用,越来越受到人们的重视。首先,本文简述了电子商务,尤其是网络购物发展现状,并根据一小型服装企业实际需求提出了构建基于SSH(Struts+Spring+Hibernate)整合框架的电子商务系统的项目计划。其次,深入研究了轻量级 Java EE 应用体系结构。对所选框架分别进行分析和研究。Struts 是一个实现了 MVC 模式的经典的框架;Hibernate 是轻量级 Java EE 应用的持久层解决方案,以面向对象的方式提供了持久化类到数据表之间的映射,是优秀的 ORM 框架;Spring 为企业应用提供了轻
3、量级的解决方案:它的 Ioc 容器,AOP 思想,以它为核心,整合持久层框架和 Web MVC 框架。通过三个框架的整合,可以构建可扩展、可复用、可移植、可维护的软件系统!最后,在此基础上,严格按照软件开发规范设计本电子商务系统,对系统进行详细的需求分析、体系架构设计、概要设计及详细设计。最终实现了一个网上购物系统,系统分为前台和后台,前台主要功能包括注册和登录、商品浏览、个人信息管理、购物车、我的订单和网上支付,后台主要功能包括管理员信息管理、用户信息管理、商品管理、商品分类管理、订单管理。通过实践,很好的整合了这三个框架,并将其应用到实际的项目中,达到了预期效果,体现了较高的研究价值和应用
4、价值。此外,本电子商务系统的成功的研发,不仅为中小型企业未来的运营模式提供一个示范,而且值得更多的传统企业关注和借鉴。关键词:电子商务,Struts,Hibernate,Spring,Java EE,框架Abstract E-commerce is an advanced business activity through electronic information technology and network technologyWith the swift development of cybereconomy,E-commerce,as a brand-new new network
5、economic activity which is becoming all effective means of enhancing comprehensive competitive edge and gaining the advantage of global resource allocation for the major developed countriesCalculator with technical application in network propulsion social progress in information,but the electronic c
6、ommerce then educated the all new economy the movement the method,will bring the social economy graveness replaceE-commerce opens up a new situation for the management and administrmion of the small and medium enterprisesOnline shopping,as part of e。commerce ,is very important in this new trade econ
7、omic system,will display the leading role to the future electronic commerce development, mote and more to be valuedThis paper first gives a brief introduction on e-commerce,focusing on the current status and trends of online shopping in particularAn e-commerce system project proposal for a small gar
8、ment enterprise,based on all integrated SSH(Struts+Spring+Hibemate)framework,is also providedThe proposal is followed by an in-depth study Oil the lightweight Java EE application architectureStruts is a classical framework which implements the MVC modelHibernate is a lightweight Java persistence fra
9、mework,it performs powerful object relational mapping from persistence classes to database tablesSpring framework has all IoC container and provides Aspect-oriented programming,and it is the core in integrating with the persistence framework and the Web MVC frameworkThrough integrating the three fra
10、meworks,a scalable,reusable,easy to migrate and easy to maintain software system Can be built#*The last part of this paper is a detailed design document of the e-commerce systemThe document follows strictly the development specifications,which includes detailed requirement analysis,system architectu
11、re design, a summarised design and a detailed designFinally,this paper implements an online shopping system,which divides into the onstage and the backstageThe onstage includes the main function of registration and logiIl,the view of products,personal information management,the shopping cart ,my ord
12、er form and the net paysThe backstage includes the main function of administrators information management, users information management,commodity management,classification of goods management, order management and announcement-information managementThe three frameworks are well integrated through pr
13、actice,and expected effects are achieved in applying them on real projectsThe overall results are satisfactoryIn addition,the SUCCESS of e,-commerce system research and development,not only proffers a show-how for the future operating model of the small and medium enterprises,also is worth noticing
14、and learning by more and more traditional enterprisesKeywords:E-commerce ,Struts,Hibernate,Spring,Java EE,framework#*目录目录 .3前言 .4第 1 章 系统需求分析 .51.1 系统设计目的 .51.2 系统需求 .51.2.1 功能需求 .51.2.2 性能需求 .61.3 运行环境 .61.3.1 硬件环境 .61.3.2 软件环境 .7第 2 章 系统设计 .72.1MVC 模式分析 .72.1.1 模型(Model) .72.1.2 视图(View) .72.1.3 控
15、制器(Controller) .72.2SSH 分析 .82.2.1Struts2 框架: .82.2.2Hibernate 框架: .102.2.3Spring 框架: .122.3Struts、Hibernate 和 Spring 的整合 .142.3.1Spring 整合 Hibernate.142.3.2Spring 整合 Struts2 .152.3.3Struts2、Hibernate 和 Spring 的整合开发 .162.4 前台分页方法改进 .162.5 数据库设计 .162.4.1 数据库字典 .17第 3 章 功能实现 .193.1 网站前台功能实现 .193.1.1 前
16、台页面效果图 .193.1.2 前台主要实现代码 .243.2 网站后台功能实现 .333.2.1 后台页面效果图: .333.2.2 后台主要实现代码: .35第 4 章 结束语 .364.1 论文总结 .364.2 未来工作 .36#*前言21 世纪是信息的世界,随着信息化的浪潮席卷全球,传统的商务模式受到巨大的冲击。越来越多的企业和个人消费者,在 Internet 开放的网络环境下,一种基于浏览器-服务器应用模式,实现消费者网上购物,商户之间的网上交易和在线电子支付的新型的商业运营模式-电子商务应运而生。目前做得比较成功的电子商务平台,国内有:当当网,阿里巴巴,淘宝,京东商城,慧聪网等,
17、国外有:亚马逊,eBuy 等。电子商务在中国也发展了一段时间,目前在国内也有很多电子商务的平台,通过分析国内的电子商务网站可知,目前国内的电子商务做的都是集合型,一个平台中各个方面的商务领域似乎都有涉及到。像比较有名的一些网购平台,如:八点优网,邮乐网,京东商城,易百,淘宝网,拍拍网,红孩网等电子商务网站,涉及的门类都很多,而且他们都有一个共通的特点就是只有产品的展示与订购,很少有厂家企业的介绍。目前中国能用上电子商务平台的都是一些大中型的企业,而大部分的中小型,特别是小型企业还是用着以前的生意模式,靠朋友,靠关系,靠老客户来维持企业,这种模式在过去的时代会有一定的优势,但在信息网络时代这种模
18、式缺乏主动性,往往会使企业处在被动的状态。像阿里巴巴这样的大型电子商务平台是能很好地帮助企业做宣传,联系客户,但是阿里巴巴基本上是面对大中型的企业,每年的管理费用都非常高,对于一些中小企业要承受一笔高的资金是很困难的。为了能够上中小型企业特别是小型企业能够用上电子商务平台,我们特地开发此系统,使中小型企业也能做到生产,宣传,销售一条龙。本系统采用 SSH(Struts,Spring,Hibernate)框架来开发。SSH 框架是目前 J2EE 领域里最热门而且用得较为成熟的一套开源框架,它是基于 MVC 设计模式之上,在充分发挥 MVC 设计模式优点的同时,也创造出了自己的开发特点,降低了应用
19、程序的耦合性,更进一步提高了应用程序的复用性、移植性、灵活性、扩展性和应用性能。SSH 是一套轻量级的开发框架,相对于 EJB 重量级开发框架,SSH 在继承了它的优点的同时,在开发和执行效率上都有了相当程度的提高,同时对于开发者而言,它比 EJB 更容易学习和撑握,开发速度也更快。目前 Struts 和 Spring 发展到 2.0 版本,Hibernate 发展到 3.0 版本,SSH 框架也正在不断地进行优化和升级,运行也越来越稳定。 #*第 1 章 系统需求分析 1.1 系统设计目的本系统设计目的旨在建立一个以 SSH 框架为基础,结构灵活、可复用、可扩展,开发快速且轻量的电子商务应用
20、平台。系统框架和企业网站子系统为本人设计的主要目标,能够根据业务需求变化可以灵活操作系统功能模块,根据企业变化能够自由添加、修改、删除企业网站子系统是实现以上目标的关键。1.2 系统需求 1.2.1 功能需求 网站前台功能1)首页:为企业提供一个网站首页,在上面显示网站的重要信息包括企业 LOGO,用户的登录,用户的注册,一级分类显示,最新商品及热门商品显示等。2)用户的注册:主要针对未注册的用户,完成注册功能使用,在注册过程中,需要进行数据的前台非空校验,及使用 AJAX 完成用户名是否存在的异步校验。在校验通过后即可完成注册,在后台同样需要进行数据校验及发送一封激活邮件。3)用户的激活:已
21、经注册的用户,需要进入邮箱点击激活链接进行用户的激活。4)用户的登录:已经注册的用户,并且该用户已经激活的情况下,输入用户名和密码即可激活用户。5)用户的退出:针对已经登录的用户,退出该系统使用。 6)首页商品展示:显示最新商品及热门商品。方便用户了解最新以及最热门商品。7)分类页面商品展示:根据某个分类的信息去展示商品。可以方便用户查找相应分类商品。#*8)商品详情展示:点击某个具体商品的时候,可以显示商品的详情。以便用户可以方便的了解商品的具体信息。9)购物车:此功能为用户提供购物功能,用户可以根据自己需要,将自己喜欢的商品添加到购物车,也可以从购物车中移除商品,甚至清空购物车中的所有商品
22、。10)订单:登录用户可以将自己喜欢商品进行购买,产生订单。可以对自己产生的订单进行在线的付款。以及可以根据用户信息,查询自己的订单。网站后台功能1)管理员登录:管理员根据用户名和密码完成登录功能。 2)一级分类管理:管理员可以对前台显示的一级分类进行管理包括添加,修改,删除,查询的功能操作。3)二级分类管理:管理员可以对前台显示的二级分类进行管理包括添加,修改,删除,查询的功能操作。 4)商品管理:管理员可以对前台上显示的商品进行管理包括添加,修改,删除,查询的功能操作同时要可以上传商品的图片。 5)订单管理:管理员可以对所有的用户产生的订单进行管理包括未付款的,已经付款的,已经发货的,交易
23、完成的订单。可以修改订单状态及异步加载订单项。6)用户管理:管理员可以对注册过的用户进行管理包括修改用户信息,删除用户,查询用户。 1.2.2 性能需求响应时间与内存使用量:忽略网络环境因素、主题模板及功能插件运作的因素,以本地测试为准。 数据库安装响应:时间 2秒内,内存使用量最高上限 8,000,000 bytes。 前台浏览响应时间:时间 0.8 秒,内存使用量最高上限9,000,000 bytes。 后台操作响应时间:时间 0.9 秒,内存使用量最高上限 9,000,000 bytes。 安全性: 后台的界面访问、路径访问、操作执行的前后,均受登陆会话管理和用户权限管理的控制。1.3
24、运行环境1.3.1 硬件环境 a)服务器端 : 服务器端的最低配置是由建立站点所需的软件来决定的,本网络系统服务器端的最低配置如下: #*处理器:Inter Pentium(Celeron) 4 2.4GHz 或更高。 内存:2G 硬盘空间:160G 显卡:SVGA 显示适配器 b)客户端: 因为客户端主要用于浏览和操作数据,所以对客户端的硬件要求不高,不过现在的电脑有很高的性价比,因此需要的配置应该高于下面的配置:处理器:Inter Pentium(Celeron) 4 1.6GHz 或更高。内存:512MB 硬盘空间:160GB显卡:SVGA 显示适配器 1.3.2 软件环境a)服务器端
25、: 操作系统:Windows NT/2000/2003 网站服务器:Tomcat7.x + jdk7.x 数据库管理系统:MySQL5.x b)用户端: 操作系统:Windows NT/2000/2003/XP professional/Windows Seven第 2 章系统设计2.1MVC 模式分析 MVC 是一种将应用程序的逻辑层和表现层进行分离的方法。MVC 式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。 2.1.1 模型(Model)模型是应用程序的主体部分。模型表示业务数据。通常来说,你的模型类将包含取出、插入、更
26、新、删除你的数据库信息的功能。 2.1.2 视图(View)视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。一个视图通常是一个网页,但是在 CI 中,一个视图也可以是一个页面片段,如页头、页尾。 #*2.1.3 控制器(Controller) 控制器工作就是根据用户的输入,控制用户界面数据显示和更新 model 对象状态。是模型、视图以及其它任何处理 HTTP 请求所必须的资源之间的中介,并生成网页。 由于运用 MVC 的应用程序的三个部件是相互对立,改变其中一个不会影响其它两个,所以依据这种设计思想你能构造良好的松耦合的构件。 本系统是在 MVC 模式基础上来进行分层,由于本
27、系统开发的工具是 MyEclipse,在建立工程时开发工具就已经初步把系统分成 MVC 三层结构。模型层由 Models 层来充当,该层主要是用来存实体 Bean 类和 Hibernate 影射文件。通过该层开发者很方便地对整个工程下的 Bean 进行管理,同时也非常方便地对Hibernate 配置文件进行影射,极大的提高了开发的效率,同时对以后系统的维护也非常方便。V 层在本系统中主要是用来数据展示,本系统中 V 层主要是采用 JSP 技术。通过 JSP 技术可以很方便地把数据展示在 web 浏览器上。在 JSP 技术基础上,对其进行了改进,把 html 语言和 java 语言进行分离,这样
28、既达到了解耦的目的,也使后续系统的维护变得很方便。把流程控制都放到 Action 层,把业务逻辑处理放在 service 层中,充分利用 Struts2 技术,在 html 页面中使用 Struts2 标签来展示数据,尽量减少在 html 页面上写 java 语句。 C 层主要是用来做流程和逻辑控制,也是整个系统的核心层。所有进出系统的访问都要经过这一层的控制。本系统对 C 层时行了一些改进,我们把控制层又细分为 Action 层,service 层和 Dao 层。Action层只管流程控制,Service 层只管逻辑控制,Dao 层只管与数据打交道,各施其职,每个层次只管自己的事情,这样能使
29、整个系统的层次非常分明,不会出现功能的混淆。让开发者和维护者在编写代码的时候非常清晰。MVC 模型优点显然,但在实际开发过程中个人对采用 MVC 模式有一点点看法。马克思主义哲学告诉我们,任何事物都有它的局限性,MVC 也不例外。MVC 不是万能药,它并不能医治所有的疾病,作为一名医术高超的医生应该要能对症下药。MVC 强制性地将业务逻辑层和表现层分开,在一定程度上是能很好地松耦合,但这种做法是会带来开发和运行的开销的。首先 MVC 采用多分层结构,这样就给开发带来了难度,增加了开发的时间,并且如果在层次设计的时候设计得不好,反而会降低程序运行的效率。另外多层次结构在运行的时间没有单层次结构的
30、程序运行的速度快,采用 MVC 模式如果分层太多,是会降低程序运行速度。孔子告诉我们要因材施教,我们做开发的也要因物施用,大炮有大炮的威力,小步枪有小步枪的灵活,并不是说所有的系统都要采用 MVC 模式来开发。MVC 模式它提出来的初衷就是为大型软件设计而提出的,它对那些需要经常复用,扩展的大型软件是非常有好处,但对于那些复用性,扩展性很少的小软件,特别是对于开发时间要求比较紧的情况下,采用 MVC 模式,其实不是一种明智的选择。2.2SSH 分析 SSH 即 Struts+Spring+Hibernate,是典型的 J2EE 三层结构,分为表现层、中间层和数据访问层。三层体系将数据表现、业务
31、逻辑和数据访问分开。业务逻辑、数据访问、权限拦截及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库打交道。#*2.2.1Struts2 框架:Struts2 体系结构Struts2 是一个具有很好实用价值的 Web MVC 框架,它减少了直接运用 MVC 模式来开发 Web 应用的周期。重要的是它是一个开源框架,方便开发者深入研究了解其机制,越来越广泛的接受和应用。而且它提供一个好的控制器和一套定制的标签库 Taglib,着力在控制器和视图上的应用,完美的体现了MVC 设计思想。提供集中统一的权限控制、国际化提示和消息、输入校验和日志记录等技术支持。另外,它对其他技术和框架具有良好的融合性。如能与 EJB、JDBC 和 Hibernate 等数据库访问技术相结合,利用集成技术减少数据库的工作量。Struts2 的体系结构如图所示: