ImageVerifierCode 换一换
格式:DOCX , 页数:58 ,大小:3.24MB ,
资源ID:8457361      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8457361.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(购物网站设计与实现毕业论文.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

购物网站设计与实现毕业论文.docx

1、购物网站设计与实现毕业论文购物网站设计与实现毕业论文毕业设计(论文)题 目:基于Struts + Spring + Hibernate的购物网站设计与实现学生姓名曹 逸学 号200520100303分 院信息工程分院专业班级计算机503班指导教师曹 平2009年5月 杭州摘 要本设计运用当前主流的Java技术,采用MVC开发模型,以Struts、Spring和Hibernate框架为基础开发了一个轻量级的网上购物系统。Struts用作控制器,Spring作为业务层,Hibernate作为数据持久层,开发中同时使用JSTL标签库。这些技术的整合,使得系统在各方面都能达到要求,并有利于系统的维护和

2、升级。系统分为前台部分和后台部分,前台部分主要实现的功能有顾客的注册和登录功能、查看商品信息功能、搜索商品的功能、购物车、收藏夹功能、个人信息维护管理功能;后台部分主要实现管理员管理商品信息、订单信息、目录信息和用户信息。其中购物车可以在用户未登录的情况下操作,并且原有的商品与现有的商品可以相互叠加。关键词:网上购物系统;Struts;Spring;Hibernate;JSTL;MVC模式ABSTRACTThis design uses the mainstream Java technology to develop a lightweight online shopping applica

3、tion. MVC software developing model is adopted, based on the popular framework consisting of Struts, Spring and Hibernate, where Struts behaves as the controller layer, Spring as the service layer, and Hibernate as the data persistence layer. JSTL library is also used. With all these technologies to

4、gether, the application achieves all the design purposes, and is flexible for update and maintenance.The application consists of two main subsystems, the front end subsystem and the central management subsystem. For the front end subsystem, the features involve customer registration, login, informat

5、ion retrieval on merchandises, product search, shopping cart, preference folder, customer profile update. Product information update, orders process, category and user information management are the functions of the central management subsystem. In the mean time, the shopping cart can be used withou

6、t login, the selected item can be added automatically.Key Words:Online shopping system;Struts; Hibernate;JSTL;The Model of MVC 1 引 言随着Internet的蓬勃发展,电子商务慢慢融入了我们的生活。如今,在发达国家通过Internet进行交易已成为潮流。由于网上电子商务的稳定性需求比较高,商城系统面临着严格的考验。不少商家、公司只制作一个或者几个产品介绍的界面,显然无法满足客户的需求。客户不能在在线订单,导致了他需要通过多种步骤来与商家取得联系。其弊端显而易见,首先是

7、低效率、数据的严重冗余,其次是维护困难;显然这些简单链接构成的网站在数据的共享性、人机的交互性以及网站维护性上都有很大的问题。因此,开发一个基于web的动态网上购物系统是极其迫切的。因此,PHP,ASP,JSP应运而生。PHP语法简单,非常易学易用,很利于快速开发各种功能不同的定制网站。但是它没有一个大的公司去支援它,使的后续能力比较差。ASP简单且易于维护,很适合小型网站应用,通过DCOM和MTS技术,ASP甚至还可以完成小规模的企业应用,但ASP的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。JSP对于网站开发来讲不像PHP和ASP那样易学易用,支持JAVA的主机也少于支

8、持PHP的主机,这从一定程度上限制了JAVA技术在网站上的发展,不过在企业软件应用上来讲,MVC还是拥有相当大的优势的,虽然其配置和部署相对其他脚本语言来说要复杂一些,但对于跨平台的中大型企业应用系统来讲,基于JAVA技术的MVC架构几乎成为唯一的选择。电子商务从1995年以来得到了迅速发展,显现了巨大的现代商业价值。在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛。尤其是美国,各类送货系统、快递运输公司、支付公司、安全、广告、商务软件、信息服务等新型物流和中介机构发展呈加速态势,并且有很大的发展空间。在我国,网上购物从无到有也不过短短几年时间。根据中国网络经济研究报告,截止2009

9、年中国互联网用户数量已达到3.22亿,有过网上购物经历的用户已经超过7400万人,并且这一数字还在以60左右的速度增长。这说明在中国发展网上购物具有良好的群众基础,网上购物方式慢慢被大家所接受。在技术方面,由于我国基本都使用windows操作系统,所以用VS平台开发比较多。但在发达国家不一样,比如美国,它有MAC操作系统,那里ASP将不再适用,它并不是很好的支持跨平台。21世纪将进入电子商务时代,是社会发展的必然,我们将别无选择地生活在电子商务时代。如何面对电子商务方式、如何适应数字化生存并积极参与电子商务时代的国际竞争,是涉及到每个人、每个企业、部门及国家发展与生存的重大问题,也是国家管理部

10、门现在应该规划、并促进其发展的战略问题。2 相关知识和技术背景2.1 J2EE概述J2EE(Java 2 Platform, Enterprise Edition)是美国Sun公司推出的一种全新概念的模型,与传统的互联网应用程序模型相比有着不可比拟的优势。典型的说,提供这些服务的应用软件必须同企业信息系统(EIS)相结合,并提供新的能向更为广阔的用户提供的服务。这些服务要具备以下的特点:a 高可用性:来满足现在的全球商业环境 b 安全性:保护用户的隐私和企业数据的安全 c 可依赖性和可扩展性:保证商业交易的正确和迅捷 通常这些服务是由分布的应用程序组成的,包括前端数据端和后端数据源以及它们之间

11、的一层或几层,这些中间层提供了把商业功能和数据与EIS相结合的功能。这些中间层把客户端从复杂的商业逻辑中分离出来,利用成熟的INTERNET技术使用户在管理上所花费的时间最小化。J2EE正式降低了开发这种中间层服务的成本和复杂程度,因而使得服务可以被快速的展开,并能够更轻松的面对竞争中的压力。J2EE 架构图见图2-12.2 MVC设计模式MVC框架把业务逻辑、页面流程控制和用户界面分开,便于开发人员进行角色分工,实现分层及并行开发,有利于软件复用和重构,以及系统的维护和扩展。其中,“Model”代表的是应用的业务逻辑(通过Java Bean,EJB组件实现),“view”是应用的表示层(一般

12、是JSP或JSF页面),“Controller是提供应用的处理过程控制,这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现,降低了业务逻辑接口和数据接口之间的耦合,同时提高了代码的重用性。MVC工作原理见图2-2。图2-1 MVC工作原理2.3 Struts MVC设计模式Struts提供了Controller组件并且整合了其它技术来实现Model和View。对于Model,Struts可以使用标准数据访问技术,如JDBC和EJB。也可以使用第三方工具,如Hibernate。至于View,Struts支持JSP技术、JSTL和JSF,也可以使用Velocity模板,XSLT及其它表示

13、系统。此外Struts提供了自定义的标记库,可以辅助JSP进行表示层的设计,通过这些自定义标记可以和系统的Model部分进行交互。Struts的核心组件有ActionServlet,Action,ActionForm,ActionMapping,ActionForword,TagLib以及配置文件等。我们用JSP技术结合Struts强大的TagLib来实现我们的表示层。图2-2 struts 1 架构图2.4 Spring框架Spring是一个以依赖注入(inversion of control IOC)原则和面向方面编程思想(aspect-oriented programming,AOP)为

14、基础的轻量级框架。Spring既是一个AOP框架,也是一个IOC容器。运用AOP可以创建“横切关注点”(Crosscutting Concerns),在应用时将它们插入代码中,使得代码有良好的可重用性。IOC容器允许在需要生成对象的地方创建一个应用上下文,然后将这些对象传递给它们的合作对象。它可以很容易地替换业务对象,只要用Java Bean属性和配置文件加入依赖性,然后就可以很容易地在需要时替换具有类似接口的协作对象。Spring还提供了可以和总体的IOC容器集成的强大而灵活的MVC Web框。Spring是一个轻型容器,其核心是Bean工厂,用以构造我们所需要的Model。在此基础之上,S

15、pring提供了AOP的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展Application Context更加方便我们实现J2EE的应用;DAO/ORM的实现也更方便我们进行数据库的开发:Web MVC和Spring Web提供了Java Web应用的框架或能够与其它流行的Web框架进行集成。从设计理念可以看到Spring帮助你实现了真正的逻辑层和Web层的分离。Spring模块是构建在核心容器之上的,核心容器又定义了创建、配置和管理Bean的方式。Spring使用基本的Java Bean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器

16、端的开发,从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。图2-3 spring 架构图2.5 Hibernate框架Hibernate是一个实现对象和关系之间映射(object relation mapping,0RM)的开源框架。它对JDBC进行了轻量级的对象封装,使得JAVA程序员可以使用面向对象的编程思维来操作关系数据库。如果在软件开发中采用面向对象的方式进行设计,而使用的是关系数据库,就可以选用Hibernate这种框架来实现对象和关系之间的映射和数据的持久化。Hibernate拥有一种功能非常强大的查询语言HQL,这种语言与SQL相似,而且完全是面

17、向对象的。它查询的是持久化对象,而不是数据库的记录,而且它可以支持多态、继承、关联等关系。Hibernate利用数据库配文件:hibernateproperties、XML Mapping等为应用程序提供数据持久服务的,又通过读取配置文件(hibernate.Cfg.xml)和类的映射文件(XML Mapping)中的内容,生成SessionFactory实例,并由它的openSession0方法负责每次所需的Session对象的创建,在Session对象的方法中借助持久化对象来完成对数据库的操作,而不需使用JDBC和SQL进行数据的操作。这样就避免手工编写访问数据持久层的方法,可以大幅度减少

18、开发时人工使用SQL和JDBC处理数据的时间,降低了开发的难度。图2-4 hibernate 架构图2.6 Struts、Spring、Hibernate的整合综上所述,表现层采用Struts框架,业务逻辑层采用Spring框架取代EJB容器,数据持久层以Hibernate取代实体Bean,提供具体的数据库数据处理操作,三者进行有机整合,构成轻量级J2EE应用框架。整个轻量级框架业务流程为:用户接口层利用JSP+HTML页面实现交互界面,负责传送页面请求和接收响应,表示层Struts收到请求,调用相应的Action,处于业务层的Spring IOC容器负责向Action提供业务服务组件(Ser

19、vice)和相应的数据访问处理组件(DAO),并提供事务处理、日志管理等一系列系统服务,处于持久层的Hibernate负责对象化映射与数据库交互,具体处理DAO组件请求,并返回结果。我们把整合后的框架分成四层,这四层分别是:实体层、DAO层、服务层、Web层。每个层在处理应用程序上都应该有一项明确的责任,而不应该在功能上与其它层混合,并且每个层要与其它层分开的,但要给他们之间放一个通信接口。图2-5 SSH 架构图2.7 JSTL标签库JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容

20、器上,如tomcat 4.x。但是在即将推出的JSP 2.0中是作为标准支持的。JSTL包含两个部分:标签库和EL(Expression Language表达式语言)语言。JSP标准标记库(JSP Standard Tag Library JSTL)是一个实现Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML操作以及数据库访问。JSTL 1.0 有四个定制标记库:core、format、xml 和 sql.1.core 标记库提供了定制操作,通过限制了作用域的变量管理数据,以及执行页面内容的迭代和条件操作。2.format 标记库定义了用来格式化数

21、据(尤其是数字和日期)的操作。它还支持使用本地化资源束进行 JSP 页面的国际化。3.xml 库包含一些标记,这些标记用来操作通过 XML 表示的数据。4.sql 库定义了用来查询关系数据库的操作。3 系统需求分析3.1 B2C系统模块介绍B2C即企业通过互联网为消费者提供一个新型的购物环境网上商店,消费者可以通过网络在网上购物、亦可在网上支付。本系统主要分为前台部分和后台部分,前台部分主要实现的功能针对顾客使用,有顾客的注册和登录功能、个人信息维护功能、查看商品信息功能、搜索商品的功能、购物车功能、收藏夹功能;后台部分主要由商城的管理员使用,有管理商品信息功能、管理商品目录功能、管理订单信息

22、功能、管理注册会员功能。这里的模块主要按照使用者不同进行分配。图3-1 本系统的前台部分和后台部分模块它们各自的功能如图3-1所示:1)前台部分首先顾客可以方便地注册与登录。未注册的顾客可进行商品的查看,也可把商品放入购物车;未注册的顾客可进入注册页面进行注册,但是若其顾客恶意破环,后台的管理员可以对其会员进行删除。顾客可以灵活地检索所需的商品信息。可采用关键字搜索。顾客可以方便地查看详细的商品资料。顾客可管理自己的购物车(包括添加或删除选购商品、修改商品购买数量、放入收藏夹及在线下订单等操作)。顾客可管理自己的收藏夹(包括添加或删除选购商品、放入购物车等操作)。2)后台部分管理员可以方便地管

23、理商品(新增、删除、修改商品信息)。管理员可以查看订单、审核、发货、取消处理。管理员可以删除顾客的信息。管理员可以对商品目录进行管理(新增、删除、修改商品目录信息)。3.2 确定用户需求要求不同类型的用户拥有不同的功能,具体用户类型包括:后台管理员,顾客(未注册或未登录用户,登录用户)。用例图如下(图3-2,图3-3):图3-2 后台管理员用例图图3-3 前台顾客用例图3.3需求规定3.3.1 对性能的规定要按照严格的格式输入,否则数据库不给予响应进行处理;查询时要保证所有包含查询关键字的记录都能查到;尽量减少服务器的压力;3.3.2 输入输出要求尽量减少输入数据量;输入数据格式;引导操作的提

24、示;3.3.3 数据管理能力要求长久保存的数据存入数据库;购物车给于15天保存期;3.3.4 故障处理要求尽可能的保证数据库完好无损;时常备份数据库;3.3.5 运行环境需求1)设备一台具备Microsoft Windows XP/VISTA系统计算机;2)支持软件(1)用户基础软件配置操作系统:Windows XP;相关软件工具: MyEclipse 6.6;(2)开发工具平台:Windows XP;服务器:Tomcat 6.0;数据库:MySQL 5.0;相关类库:Struts、Spring、Hibernate、JSTL等;(3)测试环境Windows XP + IE8。4 系统概要设计4

25、.1 总体设计4.1.1 环境配置B2C系统都基于JDK1.6开发并测试,采用Tomcat 6.0做Web服务器,并在基于MyEclipse 6.6的平台上开发并测试运行,数据库采用关系数据库MySQL 5.0。如此搭建出一个稳定的适于系统的应用开发运行环境。Java开发包J2SDK(Java 2 Software Development Kit)是基于Java软件开发的前提。J2SDK简称JDK,JDK1.6仍是目前的主打。Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。曾被

26、JavaWorld杂志评为最具创新的Java产品(Most Inovative Java Product),同时它又是Sun公司官方推荐的Servlet和JSP容器。Eclipse是一个开放源代码的、基于Java的可扩展开发平台。MyEclipse是Eclipse的插件,集成了对Spring、Struts、Hibernate等主流Java EE组件开发插件的支持,大大简化了Java EEj应用的开发。MySQL是由MySQL AB公司开发、发布并支持的全世界最流行的开源SQL数据库管理系统,目前最新版本为MySQL5.0,对存储过程、触发器和视图有了很好的支持,成为开源数据库之首选。4.1.2

27、 系统结构整个系统的架构设计遵循MVC模式,将展示层、控制层、模型层(业务逻辑层)及持久层进行合理分离。表现层采用Struts框架,业务逻辑层采用Spring框架取代EJB容器,数据持久层以Hibernate取代实体Bean,提供具体的数据库数据处理操作,三者进行有机整合,构成轻量级J2EE应用框架。整个轻量级框架业务流程为:用户接口层利用JSP+HTML页面实现交互界面,负责传送页面请求和接收响应,表示层Struts收到请求,调用相应的Action,处于业务层的Spring IOC容器负责向Action提供业务服务组件(Service)和相应的数据访问处理组件(DAO),并提供事务处理、日志

28、管理等一系列系统服务,处于持久层的Hibernate负责对象化映射与数据库交互,具体处理DAO组件请求,并返回结果。4.1.3 总体模块总体设计是把总体任务分解为许多基本的、具体的任务。这些具体任务合理地组织起来构成总体任务。其基本任务是将系统划分成模块,决定每个模块的功能,决定模块的调用关系,决定模块的界面及模块间信息的传递。总体设计过程首先寻找实现目标系统的各种不同的方案。通常,设计出初步的软件结构后还要多方改进,从而得到更合理的结构,进行必要的数据库设计。图4-1 B2C系统总体模块图4.2 功能模块B2C系统大致可以划分为9个功能模块:4.2.1 用户顾客注册、登录模块用户可以通过填写

29、注册信息注册成为会员,会员登陆后可以进行个人信息管理和购物车等重要操作,未登录或未注册的顾客只能检索浏览商品信息和购物车处理。在注册信息时,系统会对注册信息进行有效性的验证,有效才会注册成功。图4-2 用户注册、登录模块活动图4.2.2 商品检索、浏览模块用户可以直接查看商品的全部信息(如商品名称、商品图片、商品价格、商品折扣、商品介绍等),也可以根据不同的商品种类浏览商品信息,也可以透过输入关键字对商品进行检索,查看其信息。图4-3 商品检索、浏览模块活动图4.2.3 个人信息管理模块该模块可修改用户的一系列信息,包括修改用户名/昵称、密码;查看一个月内订单、已取消订单、全部订单;申请取消订

30、单;管理地址簿(添加/修改/删除/是否为首要配送地址)。图4-4 个人信息管理模块活动图4.2.4 购物车/收藏夹模块顾客未登录时,选中商品可添加购物车;可对选中的商品进行修改购买数量、删除;清空购物车等操作。当顾客登陆后,可对选中商品进行放入收藏夹操作;放入的商品可进行删除操作;当顾客要结账时,有配送地址选择。图4-5 购物车/收藏夹模块活动图4.2.5 后台登录模块后台管理员输入账号密码可以在后台登录,登录验证模块根据输入的账号密码识别不同角色的管理员,然后进入不同的后台管理模块,账号密码输入错误后给出错误提示并要求重新输入。图4-6 后台登录模块活动图4.2.6 商品管理模块管理员可以查

31、看商品种类和信息,并且可以进行新增、修改、删除商品等操作。图4-7 商品管理模块活动图4.2.7 商品目录管理模块管理员可以查看商品父目录和子目录,并且可以进行新增、修改、删除商品父/子目录等操作。图4-8 商品管理目录模块活动图4.2.8 订单管理模块订单管理员登录后,可以根据日期范围、订单完成状态、订单编号等取得订单列表与查看某订单的详情,也可以修改订单的完成状态及订单中的商品或数量,还可以删除订单本身及订单中的商品。图4-9 订单管理模块活动图4.2.9 会员管理模块管理员登录后,可以取得会员列表,可以对某个会员执行删除操作。图4-10 会员管理模块活动图5系统详细设计5.1 数据库设计5.1.1 ER图设计图5-1 B2C系统ER图从图5-1可看出各数据表之间的各种关联关系,各关联关系将会在Hibernate的映射文件中体现出来。注册用户与地址栏为一对多关联:一个用户可以有多个地址,而每个地址只能属于一个用户。注册用户与订单为一对多关联:一个用户可以有多个订单,而每个订单只能属于一个用户。订单与订单项为一对多关联:一个订单可以有多个订单项,而每个订单项只能属于一个订单。注册用户与收藏夹里的商品为一对多关联:一个用户可以有多个收藏夹商品,而每个收藏夹里的商品只能属于一个用户。商品目录与商品为

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1