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

上传人:b****6 文档编号:8457361 上传时间:2023-01-31 格式:DOCX 页数:58 大小:3.24MB
下载 相关 举报
购物网站设计与实现毕业论文.docx_第1页
第1页 / 共58页
购物网站设计与实现毕业论文.docx_第2页
第2页 / 共58页
购物网站设计与实现毕业论文.docx_第3页
第3页 / 共58页
购物网站设计与实现毕业论文.docx_第4页
第4页 / 共58页
购物网站设计与实现毕业论文.docx_第5页
第5页 / 共58页
点击查看更多>>
下载资源
资源描述

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

《购物网站设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《购物网站设计与实现毕业论文.docx(58页珍藏版)》请在冰豆网上搜索。

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

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

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

毕业设计(论文)

题目:

基于Struts+Spring+Hibernate

的购物网站设计与实现

 

学生姓名

曹逸

学号

200520100303

分院

信息工程分院

专业班级

计算机503班

指导教师

曹平

 

2009年5月杭州

摘要

本设计运用当前主流的Java技术,采用MVC开发模型,以Struts、Spring和Hibernate框架为基础开发了一个轻量级的网上购物系统。

Struts用作控制器,Spring作为业务层,Hibernate作为数据持久层,开发中同时使用JSTL标签库。

这些技术的整合,使得系统在各方面都能达到要求,并有利于系统的维护和升级。

系统分为前台部分和后台部分,前台部分主要实现的功能有顾客的注册和登录功能、查看商品信息功能、搜索商品的功能、购物车、收藏夹功能、个人信息维护管理功能;后台部分主要实现管理员管理商品信息、订单信息、目录信息和用户信息。

其中购物车可以在用户未登录的情况下操作,并且原有的商品与现有的商品可以相互叠加。

关键词:

网上购物系统;Struts;Spring;Hibernate;JSTL;MVC模式

ABSTRACT

ThisdesignusesthemainstreamJavatechnologytodevelopalightweightonlineshoppingapplication.MVCsoftwaredevelopingmodelisadopted,basedonthepopularframeworkconsistingofStruts,SpringandHibernate,whereStrutsbehavesasthecontrollerlayer,Springastheservicelayer,andHibernateasthedatapersistencelayer.JSTLlibraryisalsoused.Withallthesetechnologiestogether,theapplicationachievesallthedesignpurposes,andisflexibleforupdateandmaintenance.

Theapplicationconsistsoftwomainsubsystems,thefrontendsubsystemandthecentralmanagementsubsystem.Forthefrontendsubsystem,thefeaturesinvolvecustomerregistration,login,informationretrievalonmerchandises,productsearch,shoppingcart,preferencefolder,customerprofileupdate.Productinformationupdate,ordersprocess,categoryanduserinformationmanagementarethefunctionsofthecentralmanagementsubsystem.Inthemeantime,theshoppingcartcanbeusedwithoutlogin,theselecteditemcanbeaddedautomatically.

KeyWords:

Onlineshoppingsystem;Struts;Hibernate;JSTL;TheModelofMVC

1引言

随着Internet的蓬勃发展,电子商务慢慢融入了我们的生活。

如今,在发达国家通过Internet进行交易已成为潮流。

由于网上电子商务的稳定性需求比较高,商城系统面临着严格的考验。

不少商家、公司只制作一个或者几个产品介绍的界面,显然无法满足客户的需求。

客户不能在在线订单,导致了他需要通过多种步骤来与商家取得联系。

其弊端显而易见,首先是低效率、数据的严重冗余,其次是维护困难;显然这些简单链接构成的网站在数据的共享性、人机的交互性以及网站维护性上都有很大的问题。

因此,开发一个基于web的动态网上购物系统是极其迫切的。

因此,PHP,ASP,JSP应运而生。

PHP语法简单,非常易学易用,很利于快速开发各种功能不同的定制网站。

但是它没有一个大的公司去支援它,使的后续能力比较差。

ASP简单且易于维护,很适合小型网站应用,通过DCOM和MTS技术,ASP甚至还可以完成小规模的企业应用,但ASP的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。

JSP对于网站开发来讲不像PHP和ASP那样易学易用,支持JAVA的主机也少于支持PHP的主机,这从一定程度上限制了JAVA技术在网站上的发展,不过在企业软件应用上来讲,MVC还是拥有相当大的优势的,虽然其配置和部署相对其他脚本语言来说要复杂一些,但对于跨平台的中大型企业应用系统来讲,基于JAVA技术的MVC架构几乎成为唯一的选择。

电子商务从1995年以来得到了迅速发展,显现了巨大的现代商业价值。

在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛。

尤其是美国,各类送货系统、快递运输公司、支付公司、安全、广告、商务软件、信息服务等新型物流和中介机构发展呈加速态势,并且有很大的发展空间。

在我国,网上购物从无到有也不过短短几年时间。

根据中国网络经济研究报告,截止2009年中国互联网用户数量已达到3.22亿,有过网上购物经历的用户已经超过7400万人,并且这一数字还在以60%左右的速度增长。

这说明在中国发展网上购物具有良好的群众基础,网上购物方式慢慢被大家所接受。

在技术方面,由于我国基本都使用windows操作系统,所以用VS平台开发比较多。

但在发达国家不一样,比如美国,它有MAC操作系统,那里ASP将不再适用,它并不是很好的支持跨平台。

21世纪将进入电子商务时代,是社会发展的必然,我们将别无选择地生活在电子商务时代。

如何面对电子商务方式、如何适应数字化生存并积极参与电子商务

时代的国际竞争,是涉及到每个人、每个企业、部门及国家发展与生存的重大问题,也是国家管理部门现在应该规划、并促进其发展的战略问题。

2相关知识和技术背景

2.1J2EE概述

J2EE(Java2Platform,EnterpriseEdition)是美国Sun公司推出的一种全新概念的模型,与传统的互联网应用程序模型相比有着不可比拟的优势。

典型的说,提供这些服务的应用软件必须同企业信息系统(EIS)相结合,并提供新的能向更为广阔的用户提供的服务。

这些服务要具备以下的特点:

a.高可用性:

来满足现在的全球商业环境

b.安全性:

保护用户的隐私和企业数据的安全

c.可依赖性和可扩展性:

保证商业交易的正确和迅捷

通常这些服务是由分布的应用程序组成的,包括前端数据端和后端数据源以及它们之间的一层或几层,这些中间层提供了把商业功能和数据与EIS相结合的功能。

这些中间层把客户端从复杂的商业逻辑中分离出来,利用成熟的INTERNET技术使用户在管理上所花费的时间最小化。

J2EE正式降低了开发这种中间层服务的成本和复杂程度,因而使得服务可以被快速的展开,并能够更轻松的面对竞争中的压力。

J2EE架构图见图2-1

2.2MVC设计模式

MVC框架把业务逻辑、页面流程控制和用户界面分开,便于开发人员进行角色分工,实现分层及并行开发,有利于软件复用和重构,以及系统的维护和扩展。

其中,“Model”代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),“view”是应用的表示层(一般是JSP或JSF页面),“Controller"是提供应用的处理过程控制,这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现,降低了业务逻辑接口和数据接口之间的耦合,同时提高了代码的重用性。

MVC工作原理见图2-2。

图2-1MVC工作原理

2.3StrutsMVC设计模式

Struts提供了Controller组件并且整合了其它技术来实现Model和View。

对于Model,Struts可以使用标准数据访问技术,如JDBC和EJB。

也可以使用第三方工具,如Hibernate。

至于View,Struts支持JSP技术、JSTL和JSF,也可以使用Velocity模板,XSLT及其它表示系统。

此外Struts提供了自定义的标记库,可以辅助JSP进行表示层的设计,通过这些自定义标记可以和系统的Model部分进行交互。

Struts的核心组件有ActionServlet,Action,ActionForm,ActionMapping,ActionForword,TagLib以及配置文件等。

我们用JSP技术结合Struts强大的TagLib来实现我们的表示层。

图2-2struts1架构图

2.4Spring框架

Spring是一个以依赖注入(inversionofcontrolIOC)原则和面向方面编程思想(aspect-orientedprogramming,AOP)为基础的轻量级框架。

Spring既是一个AOP框架,也是一个IOC容器。

运用AOP可以创建“横切关注点”(CrosscuttingConcerns),在应用时将它们插入代码中,使得代码有良好的可重用性。

IOC容器允许在需要生成对象的地方创建一个应用上下文,然后将这些对象传递给它们的合作对象。

它可以很容易地替换业务对象,只要用JavaBean属性和配置文件加入依赖性,然后就可以很容易地在需要时替换具有类似接口的协作对象。

Spring还提供了可以和总体的IOC容器集成的强大而灵活的MVCWeb框。

Spring是一个轻型容器,其核心是Bean工厂,用以构造我们所需要的Model。

在此基础之上,Spring提供了AOP的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用;DAO/ORM的实现也更方便我们进行数据库的开发:

WebMVC和SpringWeb提供了JavaWeb应用的框架或能够与其它流行的Web框架进行集成。

从设计理念可以看到Spring帮助你实现了真正的逻辑层和Web层的分离。

Spring模块是构建在核心容器之上的,核心容器又定义了创建、配置和管理Bean的方式。

Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。

然而,Spring的用途不仅限于服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

图2-3spring架构图

2.5Hibernate框架

Hibernate是一个实现对象和关系之间映射(objectrelationmapping,0RM)的开源框架。

它对JDBC进行了轻量级的对象封装,使得JAVA程序员可以使用面向对象的编程思维来操作关系数据库。

如果在软件开发中采用面向对象的方式进行设计,而使用的是关系数据库,就可以选用Hibernate这种框架来实现对象和关系之间的映射和数据的持久化。

Hibernate拥有一种功能非常强大的查询语言HQL,这种语言与SQL相似,而且完全是面向对象的。

它查询的是持久化对象,而不是数据库的记录,而且它可以支持多态、继承、关联等关系。

Hibernate利用数据库配文件:

hibernate.properties、XMLMapping等为应用程序提供数据持久服务的,又通过读取配置文件(hibernate.Cfg.xml)和类的映射文件(XMLMapping)中的内容,生成SessionFactory实例,并由它的openSession0方法负责每次所需的Session对象的创建,在Session对象的方法中借助持久化对象来完成对数据库的操作,而不需使用JDBC和SQL进行数据的操作。

这样就避免手工编写访问数据持久层的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间,降低了开发的难度。

图2-4hibernate架构图

2.6Struts、Spring、Hibernate的整合

综上所述,表现层采用Struts框架,业务逻辑层采用Spring框架取代EJB容器,数据持久层以Hibernate取代实体Bean,提供具体的数据库数据处理操作,三者进行有机整合,构成轻量级J2EE应用框架。

整个轻量级框架业务流程为:

用户接口层利用JSP+HTML页面实现交互界面,负责传送页面请求和接收响应,表示层Struts收到请求,调用相应的Action,处于业务层的SpringIOC容器负责向Action提供业务服务组件(Service)和相应的数据访问处理组件(DAO),并提供事务处理、日志管理等一系列系统服务,处于持久层的Hibernate负责对象化映射与数据库交互,具体处理DAO组件请求,并返回结果。

我们把整合后的框架分成四层,这四层分别是:

实体层、DAO层、服务层、Web层。

每个层在处理应用程序上都应该有一项明确的责任,而不应该在功能上与其它层混合,并且每个层要与其它层分开的,但要给他们之间放一个通信接口。

图2-5SSH架构图

2.7JSTL标签库

JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。

JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat4.x。

但是在即将推出的JSP2.0中是作为标准支持的。

JSTL包含两个部分:

标签库和EL(ExpressionLanguage表达式语言)语言。

JSP标准标记库(JSPStandardTagLibraryJSTL)是一个实现Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML操作以及数据库访问。

JSTL1.0有四个定制标记库:

core、format、xml和sql.

1.core标记库提供了定制操作,通过限制了作用域的变量管理数据,以及执行页面内容的迭代和条件操作。

2.format标记库定义了用来格式化数据(尤其是数字和日期)的操作。

它还支持使用本地化资源束进行JSP页面的国际化。

3.xml库包含一些标记,这些标记用来操作通过XML表示的数据。

4.sql库定义了用来查询关系数据库的操作。

3系统需求分析

3.1B2C系统模块介绍

●B2C即企业通过互联网为消费者提供一个新型的购物环境——网上商店,消费者可以通过网络在网上购物、亦可在网上支付。

本系统主要分为前台部分和后台部分,前台部分主要实现的功能针对顾客使用,有顾客的注册和登录功能、个人信息维护功能、查看商品信息功能、搜索商品的功能、购物车功能、收藏夹功能;后台部分主要由商城的管理员使用,有管理商品信息功能、管理商品目录功能、管理订单信息功能、管理注册会员功能。

这里的模块主要按照使用者不同进行分配。

图3-1本系统的前台部分和后台部分模块

它们各自的功能如图3-1所示:

1)前台部分

●首先顾客可以方便地注册与登录。

未注册的顾客可进行商品的查看,也可把商品放入购物车;未注册的顾客可进入注册页面进行注册,但是若其顾客恶意破环,后台的管理员可以对其会员进行删除。

●顾客可以灵活地检索所需的商品信息。

可采用关键字搜索。

●顾客可以方便地查看详细的商品资料。

●顾客可管理自己的购物车(包括添加或删除选购商品、修改商品购买数量、放入收藏夹及在线下订单等操作)。

●顾客可管理自己的收藏夹(包括添加或删除选购商品、放入购物车等操作)。

2)后台部分

●管理员可以方便地管理商品(新增、删除、修改商品信息)。

●管理员可以查看订单、审核、发货、取消处理。

●管理员可以删除顾客的信息。

●管理员可以对商品目录进行管理(新增、删除、修改商品目录信息)。

3.2确定用户需求

要求不同类型的用户拥有不同的功能,具体用户类型包括:

后台管理员,顾客(未注册或未登录用户,登录用户)。

用例图如下(图3-2,图3-3):

图3-2后台管理员用例图

图3-3前台顾客用例图

3.3需求规定

3.3.1对性能的规定

●要按照严格的格式输入,否则数据库不给予响应进行处理;

●查询时要保证所有包含查询关键字的记录都能查到;

●尽量减少服务器的压力;

3.3.2输入输出要求

●尽量减少输入数据量;

●输入数据格式;

●引导操作的提示;

3.3.3数据管理能力要求

●长久保存的数据存入数据库;

●购物车给于15天保存期;

3.3.4故障处理要求

●尽可能的保证数据库完好无损;

●时常备份数据库;

3.3.5运行环境需求

1)设备

一台具备MicrosoftWindowsXP/VISTA系统计算机;

2)支持软件

(1)用户基础软件配置

操作系统:

WindowsXP;

相关软件工具:

MyEclipse6.6;

(2)开发工具

平台:

WindowsXP;

服务器:

Tomcat6.0;

数据库:

MySQL5.0;

相关类库:

Struts、Spring、Hibernate、JSTL等;

(3)测试环境

WindowsXP+IE8。

 

4系统概要设计

4.1总体设计

4.1.1环境配置

B2C系统都基于JDK1.6开发并测试,采用Tomcat6.0做Web服务器,并在基于MyEclipse6.6的平台上开发并测试运行,数据库采用关系数据库MySQL5.0。

如此搭建出一个稳定的适于系统的应用开发运行环境。

Java开发包J2SDK(Java2SoftwareDevelopmentKit)是基于Java软件开发的前提。

J2SDK简称JDK,JDK1.6仍是目前的主打。

Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。

曾被JavaWorld杂志评为最具创新的Java产品(MostInovativeJavaProduct),同时它又是Sun公司官方推荐的Servlet和JSP容器。

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。

MyEclipse是Eclipse的插件,集成了对Spring、Struts、Hibernate等主流JavaEE组件开发插件的支持,大大简化了JavaEEj应用的开发。

MySQL是由MySQLAB公司开发、发布并支持的全世界最流行的开源SQL数据库管理系统,目前最新版本为MySQL5.0,对存储过程、触发器和视图有了很好的支持,成为开源数据库之首选。

4.1.2系统结构

整个系统的架构设计遵循MVC模式,将展示层、控制层、模型层(业务逻辑层)及持久层进行合理分离。

表现层采用Struts框架,业务逻辑层采用Spring框架取代EJB容器,数据持久层以Hibernate取代实体Bean,提供具体的数据库数据处理操作,三者进行有机整合,构成轻量级J2EE应用框架。

整个轻量级框架业务流程为:

用户接口层利用JSP+HTML页面实现交互界面,负责传送页面请求和接收响应,表示层Struts收到请求,调用相应的Action,处于业务层的SpringIOC容器负责向Action提供业务服务组件(Service)和相应的数据访问处理组件(DAO),并提供事务处理、日志管理等一系列系统服务,处于持久层的Hibernate负责对象化映射与数据库交互,具体处理DAO组件请求,并返回结果。

4.1.3总体模块

总体设计是把总体任务分解为许多基本的、具体的任务。

这些具体任务合理地组织起来构成总体任务。

其基本任务是将系统划分成模块,决定每个模块的功能,决定模块的调用关系,决定模块的界面及模块间信息的传递。

总体设计过程首先寻找实现目标系统的各种不同的方案。

通常,设计出初步的软件结构后还要多方改进,从而得到更合理的结构,进行必要的数据库设计。

图4-1B2C系统总体模块图

4.2功能模块

B2C系统大致可以划分为9个功能模块:

4.2.1用户顾客注册、登录模块

用户可以通过填写注册信息注册成为会员,会员登陆后可以进行个人信息管理和购物车等重要操作,未登录或未注册的顾客只能检索浏览商品信息和购物车处理。

在注册信息时,系统会对注册信息进行有效性的验证,有效才会注册成功。

图4-2用户注册、登录模块活动图

4.2.2商品检索、浏览模块

用户可以直接查看商品的全部信息(如商品名称、商品图片、商品价格、商品折扣、商品介绍等),也可以根据不同的商品种类浏览商品信息,也可以透过输入关键字对商品进行检索,查看其信息。

图4-3商品检索、浏览模块活动图

4.2.3个人信息管理模块

该模块可修改用户的一系列信息,包括修改用户名/昵称、密码;查看一个月内订单、已取消订单、全部订单;申请取消订单;管理地址簿(添加/修改/删除/是否为首要配送地址)。

图4-4个人信息管理模块活动图

4.2.4购物车/收藏夹模块

顾客未登录时,选中商品可添加购物车;可对选中的商品进行修改购买数量、删除;清空购物车等操作。

当顾客登陆后,可对选中商品进行放入收藏夹操作;放入的商品可进行删除操作;当顾客要结账时,有配送地址选择。

图4-5购物车/收藏夹模块活动图

4.2.5后台登录模块

后台管理员输入账号密码可以在后台登录,登录验证模块根据输入的账号密码识别不同角色的管理员,然后进入不同的后台管理模块,账号密码输入错误后给出错误提示并要求重新输入。

图4-6后台登录模块活动图

4.2.6商品管理模块

管理员可以查看商品种类和信息,并且可以进行新增、修改、删除商品等操作。

图4-7商品管理模块活动图

4.2.7商品目录管理模块

管理员可以查看商品父目录和子目录,并且可以进行新增、修改、删除商品父/子目录等操作。

图4-8商品管理目录模块活动图

4.2.8订单管理模块

订单管理员登录后,可以根据日期范围、订单完成状态、订单编号等取得订单列表与查看某订单的详情,也可以修改订单的完成状态及订单中的商品或数量,还可以删除订单本身及订单中的商品。

图4-9订单管理模块活动图

4.2.9会员管理模块

管理员登录后,可以取得会员列表,可以对某个会员执行删除操作。

图4-10会员管理模块活动图

 

5系统详细设计

5.1数据库设计

5.1.1ER图设计

图5-1B2C系统ER图

从图5-1可看出各数据表之间的各种关联关系,各关联关系将会在Hibernate的映射文件中体现出来。

●注册用户与地址栏为一对多关联:

一个用户可以有多个地址,而每个地址只能属于一个用户。

●注册用户与订单为一对多关联:

一个用户可以有多个订单,而每个订单只能属于一个用户。

●订单与订单项为一对多关联:

一个订单可以有多个订单项,而每个订单项只能属于一个订单。

●注册用户与收藏夹里的商品为一对多关联:

一个用户可以有多个收藏夹商品,而每个收藏夹里的商品只能属于一个用户。

●商品目录与商品为

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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