本文介绍一下网络商店的开发所需要的开发工具和架构。
基本配置 开发本例需要的开发工具。
·开发平台:Eclipse 3.1。
·Web服务器:Tomcat 5。
·开发技术:JSP,Struts框架,Hibernate技术,JSTL。
·数据库服务器: MySQL5.0。
系统需求 大部分读者都有过在网上购物的经历,在购物网站可以很方便的注册、浏览商品、查询商品、购买时也只需点几下鼠标。本章的网络商店实现了上述的基本功能,用户可以在网络商店中进行注册、浏览商品以及查询购物车。下面来讲解每个系统功能。
1.登录和注册
用户登录和注册就是实现一个新的用户注册和老用户的登陆,这两个功能基本上每个电子商务网站上提供。用户注册就是新用户可以在网络商店进行信息注册,这是购物的前提。用户必需先注册才能进行购物。注册时系统会对注册信息进行验证,以确保注册信息的正确性。用户登录就是用户可以在登陆页面进行登陆,在购物结帐时,用户需要登陆信息,当然在进入系统开始的时,用户可以进行登陆。登陆时,如果用户名密码错误,系统会提示错误。
2.商品浏览
商品浏览是实现用户可以在网络商店中随意浏览商品,商品是根据商品的类别来进行分类的,用户可以单击每一个分类的链接来进入每一个分类,查看的详细信息。进入每一个商品类别之后,商品是根据每个产品的类型再分类的。
例如,进入书这个大的类别,书有可以分很多种,如计算机相关的书,管理方面相关的书。用户根据每一个产品链接来进入每一个产品系列。例如单击进入计算机相关的书,进入之后,列举的就是每一个商品。单击每一个商品就可以看到每一个商品的具体信息,例如单击计算机程序设计艺术,就可以看到这本书的出版日期,价格,书的大概内容。如果觉得这本书很合适,就可以把它放进购物车。
3.结帐
在结帐的时候,系统会显示用户购物车中已有的商品,包括产品名、产品数量、单价、总的价格以及是否有库存。在最后确定订单时,用户可以修改每一个商品的数量。例如计算机程序设计与艺术想买2本,则用户可以修改它的购买数量,更新购物车就可以。如果用户不想买这本书了,就可以把这本书从购物车中消除。但是一旦单击了结帐生成订单,则购物车就不能被改变了。
根据上面大概的需求,画出网络商店的用例图,如图1所示。
图1 用例图
系统功能描述 在本节中,将以最直观的方式来向读者介绍整个系统要实现的功能。
1、用户注册
用户注册是网络商店的基本功能之一。用户如果想从网络商店购买商品,必须有一个网络商店的账号。用户可以通过注册获得账号。注册页面效果如图2所示。
当注册成功之后,会进入到网络商店的首页。此时已经以新的帐号登录了网络商店,系统页面的首页如图3所示。在注册时,系统会对注册信息作一些简单的验证,如果信息格式不对,则注册会失败,系统会提示失败的原因,注册失败如图4所示。
图2 注册页面
图3 注册成功
2、用户登录
当用户已经拥有一个账号,就可以进行登录。当用户登录系统首页时,可以点击登陆链接尽心登录。登录页面如图5所示。如果登录成功,则返回到系统的首页,如果登录失败则会转入到失败页面,如图6所示。
图4注册失败
图5 登录页面
用户成功登录后,在系统的右上角有一个链接,单击进入可以修改跟人信息,如图7所示。
图6 登录失败
图7 修改个人信息
3、浏览商品
用户成功登录后就可以浏览网路商店中的商品了。在首页有几种商品品种可以供用户选择的,如电子商品、书籍以及软件。例如,用户单击软件,进入软件商品的浏览,软件商品下面分为Microsoft和kingsoft,如图8所示。
进入某一个商品品种后,系统会列出这个商品品种下的所有商品系列,每一商品系列又有很多具体的商品,例如用户单击Microsoft,如图9所示。
图8浏览商品
图9浏览具体商品
在图9的页面中列出的是一个一个具体的商品,用户可以单击每一个商品名,以查看这个商品的具体信息。例如单击anti spy,如图10所示。
4、购物
当用户浏览商品时,看中了一个商品,就可以把这个商品放到自己购物车中。每一个商品都有一个链接提供放入购物车。单击放入购物车,如图11所示。
图10 商品具体信息
图11 查看购物车
在查看购物车页面中有很多供选择的操作,如删除一个购物车。当用户单击删除,如图12所示,系统还是会跳转到购物车页面。如果用户觉得某一个商品的数量不合适,用户可以更改该商品的数量,在数量这一栏中填上要购买的数量,然后单击更新购物车,如图13所示。
图12 删除一个商品
图13 更改商品的数量
5、结帐
查看购物车之后,如果用户想进行结帐可以单击结帐链接,如图14所示。单击下一步链接,就可以查看该订单的详细情况,如图15所示
图14 结帐
图15 订单详细信息
查看订单详细后,然后单击下一步链接,就是订单的确认了,如图16所示
订单确认完毕之后,就是订单的生成了。如果单击下一步链接,生成订单,此时订单不能在被修改了。如图17所示。
图16确认订单
图17订单生成
系统设计 在对系统的需求进行了分析以后,接下来开始对系统的整体架构进行设计。本章的重点在于讲述如何进行开发,而不是在于如何进行设计。因此,在设计这一部分只是简单进行了介绍,目的是为了使读者更容易理解整个系统。
1、系统架构设计
整个应用程序遵循多层次的架构模式,从上到下依次为视图层、控制器层、模型层、持久化层和数据库层,如图18所示。前面三层其实就是Struts框架的基本基本层次。持久化层则是Hibernate来创建的。
图18系统架构
其中,模型层、持久化层、数据库层之间的关系是上层依赖下一层,而下一层对上一层的依赖很少,如同网络的ISO七层模型。各层次间的依赖关系应该是自顶向下的,即上层可以依赖下层,而下层应该尽量减少对上层的依赖。
例如,此时在系统中使用Hibernate来实现持久化层,若要采用其他机制实现持久化层时,则不需要改动业务逻辑中的代码。而视图层和控制器层都是通过Struts框架来实现的。模型层实际上又可细分为数据访问层(DAO)和数据服务层(Manager)。持久化层是使用Hibernate实现的,在这层使用了DAO模式,所以这层又可分为数据访问层和数据服务层。
2、业务实体设计
一个系统的业务实体在内存中表现为实体域对象,在数据库中表现为关系数据,实现业务实体包括以下内容。
·设计域模型,创建域模型实体对象。
·设计关系数据模型。
·创建对象—关系映射文件。
在网络商店中有以下的业务实体:用户、具体商品、商品系类、商品类、订单、订单项、购物车和购物车中具体的商品。下面对这些业务实体作一个简单的解释,后面章节会有详细的解释。
·用户:代表一个用户实体,主要包括用户的详细信息,如用户名,密码,地址之类的。
·具体商品:代表每一个具体的商品信息,如上面提到的计算机程序设计艺术,主要包括商品的名字,价格等。
·商品系类:代表一系类商品,如前面提到计算机相关书籍。
·商品类别:代表一类商品,如前面提到的书。
·订单:代表用户的订单,主要包括订单名,用户信息,订单的具体内容。
·订单项:代表订单中具体项,一个订单项包括一个商品的购买情况。
·购物车:代表用户的购物车,是一个虚拟的概念。
·购物车中的具体商品:代表购物车中每一个具体的购物项。
这些实体之间的关系如图19所示。
图19 业务实体关系图
如图19所示,这里来介绍一下各实体之间的对应关系。
·用户和订单:一个用户可以拥有多个订单,一个订单只能属于一个用户,他们之间的关系是一对多的关系。在数据库表中是表现为订单表中有一个用户表的外键,在Hibernate中则表现为订单持久化类中有一个用户持久化类引用。
·订单与订单项:一个订单中可以有很多订单项,一个订单项只是对一个具体商品的封装。订单与订单项的关系在Hibernate中表现为一个订单项中有一个订单的持久化类引用。
·订单项与商品:一个订单项就是对商品的封装,一个商品就是这个商品的详细信息,订单项中除了有这个商品的信息,还有这个商品的购买数量,属于哪个订单等。
·商品系列与商品:一个商品系列有多个商品,如同计算机方面书籍与计算机程序设计艺术关系。
·商品类别与商品系列,一个商品类别有多个商品系列,如同书与计算机方面书籍的关系。
·购物车与购物商品,用户的购物车中可以有多个购物商品,由于是网上购物,也许购物车中把一个没有库存的商品放到了购物车中,所以购物商品就必须有这个信息。
·购物商品与商品,这个关系同订单项与商品的关系类似,只是购物商品对商品的封装角度不一样,购物商品中除了要记录商品的数量还需记录它的库存情况。
以上是系统中所有实体域模型之间的关系的定义。
3、业务逻辑设计
在本系统中,应用的持久化层采用Hibernate做为中间件,并使用了DAO设计模式实现对数据层的访问。DAO模式是J2EE核心模式中的一种,其主要的行为就是在业务核心方法和具体数据源之间再增加一层,用这一层来连接业务方法和数据源,这样就实现了两者的解耦。
因为具体持久层数据源可能是多样化的,可能是XML或者是关系数据库。在具体的关系数据库中,也可能是不同的产品,如Oracle或者MySQL。通过使用DAO模式,业务核心部分就不用关心数据层是如何实现对数据库的操作的,而只关心自己的业务操作,对数据库的操作全部仍给了DAO代理,如图20所示。
图20 DAO模式
分享到:
相关推荐
精通J2EE——Eclipse+Struts+Hibernate+Spring整合应用案例 pdf电子书, 包含所有18个章节的完整版, 美中不足的是扫描质量不是很高,且是第一版的,不是目前最新的第二版! 请看清楚了再下,免得后悔! 共有两个部分-这...
在IT行业中,开发Java Web应用时常常会使用到一套名为SSH2(Struts2、Spring、Hibernate)的技术栈...提供的文档"Eclipse+Struts+Spring+Hibernate+Mysql环境搭建及访问数据库实例.doc"将更详细地指导你完成整个过程。
【通用论坛】是一个基于Java企业版(J2EE)技术构建的在线讨论平台,它采用Eclipse作为集成开发环境(IDE)以及Struts作为MVC(Model-View-Controller)框架来实现。Eclipse是Java开发者广泛使用的开源IDE,提供了...
### SSH框架整合详细步骤(spring+struts2+hibernate) #### 一、整合概述 在现代Web应用开发中,SSH(Struts2、Spring、Hibernate)框架因其各自独特的功能和优势,常被组合使用以构建高效、稳定且易于维护的系统...
Eclipse+Struts+Spring+Hibernate+Mysql环境搭建及访问数据库实例
最简单的Spring+Struts2+Hibernate整合例子,MySql数据库,IDE是JavaEE版的Eclipse,tomcat7.0 ,实现功能:登录+注册+增删改查+一键清空数据库表的数据。所有jar文件都在里面了。
《在线购物Eclipse+Struts+Hibernate》是一个关于使用Eclipse集成开发环境,结合Struts和Hibernate框架构建购物车应用的教程。这个项目旨在帮助Java开发者深入理解和实践这些技术,以便于开发出功能完备的电子商务...
本方案提供了一种集成化的开发环境,即"MyEclipse7.5+flex4+spring3.0.5+struts2.2.1+hibernate3.6.0+blazeds4.0.0.14931完美整合方案",它将多个流行的技术框架整合在一起,为Web应用程序开发提供了一个强大的平台...
在"J2EE--Eclipse+Struts+Hibernate+Spring"的环境下,开发者通常会按照以下步骤进行开发: 1. **环境搭建**:首先安装Eclipse,然后通过插件如Spring Tool Suite(STS)来增强对Spring的支持。接着,配置JDK和J2EE...
精通J2EE——Eclipse+Struts+Hibernate+Spring整合应用案例 pdf电子书, 包含所有18个章节的完整版, 美中不足的是扫描质量不是很高,且是第一版的,不是目前最新的第二版! 请看清楚了再下,免得后悔! 共有两个部分-这...
使用Eclipse+struts+Hibernate制作图形验证码及登录的视频教程
一个spring+struts+hibernate的例子,是eclipse的工程,用tomcat5和mysql,文件夹下包含所有的源码和库,另外还有一个.sql的文件用于建立数据库。大家觉得它有什么不好,欢迎交流
SSH(Spring、Struts2、Hibernate)是Java开发中一种常见的企业级应用框架组合,用于构建高效、可扩展的Web应用程序。在这个包中,我们包含了Spring4、Struts2和Hibernate5这三个关键组件的库文件。 Spring4是...
在Java开发领域,Eclipse、Struts和Hibernate是三个非常重要的技术组件,它们共同构建了企业级Web应用程序的基础架构。本教程将详细讲解如何利用这些技术制作图形验证码和实现用户登录功能。 首先,Eclipse是一个...
在本项目中,MyEclipse 9.0被用作开发工具,它支持Struts2和Hibernate的集成,简化了开发流程,同时也提供了图形化的数据库管理工具,方便与MySQL数据库进行交互。 【MySQL】 MySQL是一款开源、免费的关系型数据库...
《开发者突击:Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)》详细介绍了Java Web软件架构中的各种开发技术。主要内容包括:以MySQL为数据库、Tomcat为Web服务器、Eclipse为开发工具、CVS为版本控制工具...
本资源是一个基于Spring、Struts2和Hibernate框架的Java Web论坛源码,旨在提供一个学习和实践企业级Web开发的实例。Spring作为IoC(控制反转)和AOP(面向切面编程)容器,负责管理应用程序的组件和依赖关系;...
该项目是一个经典的Java Web开发组合,使用了Maven作为构建工具,Struts2作为表现层框架,Hibernate3作为持久层框架,Spring3作为依赖注入和事务管理框架,且基于Eclipse IDE进行开发。以下是对这些技术栈的详细说明...