论文部分内容阅读
摘要:本文根据软件工程的流程分别阐述了系统需求以及系统功能的描述,系统设计。利用Struts和Hibernate技术来开发一个简单的网络商店,设计网上购物的基本功能,其主要功能包括用户注册,用户登陆,浏览商品,购物以及从查看订单等功能。
关键词:Java Struts Hibernate JSP 网络商店, 模型
一、开发环境
本文简单地介绍了开发环境、Struts框架和Hibernate框架的技术特点,对设计过程中的开发环境进行陈述。本次设计开发平台是MYEclipse7.0,Web服务器是Tomcat5.0,使用的开发技术是Struts框架,Hibernate技术,数据库采用MySQL 5.0。
Struts是Java Web应用提供了现成的通用的框架。Struts可以大大提高Web的开发速度。Struts实质上就是在JSP Model2的基础上面实现一个MVC的框架。在Struts框架中,模型就是实现业务逻辑的JavaBean或EJB组件构成,控制器就是由ActionServlet和Action来实现,视图则是由一组JSP文件构成。
Hibernate是一个开放源码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使得Java程序员可以随心所欲地使用面向对象的编程思想来操作数据库。Hibernate可以应用在任何使用JDBC的场所,即可以在Java客户端使用,也可以在Servlet/JSP的Web应用中使用,最具有意义的是,Hibernate可以在EJB的J2EE框架中完成数据持久化的重任。
二、系统概要分析及其功能描述
本文介绍了这次设计的概要分析,简单地说明了它的工程模块。在购物网站可以很方便的注册,浏览查询商品,购买结账也是很简单的事情。本次设计的网络商店就简单地实现了上述功能,用户可以在网络商店进行注册,浏览商品以及查询购物车。
1、登陆以及注册
用户登陆和注册就是实现一个新的用户注册和老用户的登陆的过程,这两个功能是每个电子商务网站必不可少的一部分。用户注册就是新的用户可以在网络商店进行个人信息注册,用户必须先注册才可以购物。注册时系统会对注册信息进行验证,以确保注册信息的正确性。用户登陆就是用户可以在登陆页面进行登陆,在购物结账时,用户需要登陆信息。登陆的时候如果用户名密码错误,系统会提示错误。
2、商品浏览
商品浏览时实现用户可以在网络商店中随意浏览商品,商品是根据商品的的类别进行分类的,用户可以单击每一个分类的链接来进入每一个分类,查看详细的信息。进入每一个商品的类别之后,商品是根据每个产品的类型再分类的。3
3、结账
在结账的时候,系统会显示用户购物车中已有的商品,包括产品名,产品数量,单价,库存等信息。在最后确定订单的时候,用户可以自己修改每一件商品的数量。本系统的功能模块框图如图2-1所示。
三、系统设计
本文是对本次系统的分析过程,主要介绍了系统的各个层次,以及各个层次实现所使用的技术框架,对关系数据库进行了详细分析。
1、系统架构设计
整个应用程序遵循多个层次的构架模式,从上到下一次为视图层,控制器层,模型层,持久化层和数据库层。前三层也就是Struts框架的基本层次。持久化层是Hibernate来创建的。
其中,模型层,持久化层,数据库层之间的关系是上层依赖下一层,而下一层对上一层的依赖很少。各个层次之间的以来关系应该是自顶向下的,即上层可以依赖下层,而下层尽量少依赖上层。
要在系统中使用Hibernate来实现持久层,若要采用其他机器实现持久化层时,则不要改动业务逻辑中的代码。而视图层和控制层都是通过Struts框架来实现的。模型层实际上又可以细分为数据访问层和数据服务层。持久化层是使用Hibernate实现的,在这层使用了DAO模式,所以这层又可以分为数据访问层和数据服务层。Struts所实现的MVC框架如图3-1所示。
2、业务实体设计
本次设计网络商店中有以下的业务实体:用户,商品信息,商品系类,商品类别,订单,订单项,购物车和购物车中的具体商品。
用户(Account)。用户代表一个用户实体,主要包括用户的详细信息,如用户名,密码,用户地址等。
具体商品(Item)。代表每一个具体的商品信息,主要包括商品的名字,价格等分量信息。
商品系列(Product)。代表一系类商品。
商品类别(Category)。代表一类商品。
订单(Order)。代表用户的订单。主要包括订单名,用户信息,订单的具体内容。
订单项(LineItem)。代表订单中的具体项,一个订单包括一个商品的购买情况。
购物车(Cart)。代表用户的购物车。
购物车中的具体商品(CartItem)。表示购物车中的具体项。
将上述的业务实体分析,总结它们的各实体之间的关系如下:
用户和订单:一个用户可以有多个订单,一个订单只能属于一个用户,他们之间的关系是一对多的关系。在数据库中的表现为订单表中有一个用户表的外键,在Hibernate中就表现成订单持久化类中有一个用户持久化类的引用。
订单与订单项:一个订单中可以有多个订单项,一个订单项只可对应一个具体商品的具体信息。订单项和订单的关系在Hibernate中表现一个订单项中有一个订单的持久化类引用。
订单项与具体商品:一个订单项就是对具体商品的封装,一个具体的商品就是这个商品详细信息,订单项中除了有这个具体商品的信息,还有这个具体商品的购买数量,属于哪个订单等信息。
商品系列与具体商品:一个商品系列有多个具体商品。
商品类别与具体商品:一个商品类别有多个商品系列。
购物车和购物车中具体商品:用户的购物车可以有多个具体商品,由于是网上购物,或许购物车中把一个没有库存的商品放到了购物车中,所以购物车中具体商品就必须有这个信息。
购物商品和具体商品:这个关系和订单项与商品的关系相似,只是购物商品对具体商品的封装角度不一样,购物商品中除了要记录商品的数量,还需要它的库存情况。
各个实体之间的关系如图3-2所示。
3、业务逻辑设计
在本系统中,应用的持久化层采用Hibernate作为中间件,并使用了DAO设计模式实现数据层的访问。DAO模式是J2EE核心模式中的一种,其主要行为是在业务核心方法和具体数据源之间再添加一层,用这层来连接业务方法和数据源,这样就实现了两个的解耦合。
因为具体持久层数据源可能是多样化的,可能是XML或者关系数据库。通过使用DAO模式,业务逻辑核心部分就不用关心数据层是如何实现对数据库的操作的,而只关心自己的业务操作,对数据库的操作全部交给了DAO代理,如下图3-3所示。
四、结论
这次设计的网络购物系统是使用Struts和Hibernate技术进行简单的构建的,在设计中,使用到了Struts框架的MVC模型结构,同时结合Hibernate技术,使用DAO设计模式,在业务逻辑和数据源之间增加一层,更为方便安全地对数据库进行操作。在设计地过程中调用了大量地API,并需要对控制器,业务实体等进行相应配置。设计过程中要对面向对象有很清楚地认识,这样在操作过程中才能利用提供地API来完成各个模块要实现地相应功能。
参考文献:
[1].宋汉增,沈琳;利用Hibernate对象持久化服务简化Java数据库访问[J];计算机应用;2003.12
[2].沈锐;基于J2EE物流系统持久层的Hibernate解决方案[J];电脑知识与技术;2005.03
关键词:Java Struts Hibernate JSP 网络商店, 模型
一、开发环境
本文简单地介绍了开发环境、Struts框架和Hibernate框架的技术特点,对设计过程中的开发环境进行陈述。本次设计开发平台是MYEclipse7.0,Web服务器是Tomcat5.0,使用的开发技术是Struts框架,Hibernate技术,数据库采用MySQL 5.0。
Struts是Java Web应用提供了现成的通用的框架。Struts可以大大提高Web的开发速度。Struts实质上就是在JSP Model2的基础上面实现一个MVC的框架。在Struts框架中,模型就是实现业务逻辑的JavaBean或EJB组件构成,控制器就是由ActionServlet和Action来实现,视图则是由一组JSP文件构成。
Hibernate是一个开放源码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使得Java程序员可以随心所欲地使用面向对象的编程思想来操作数据库。Hibernate可以应用在任何使用JDBC的场所,即可以在Java客户端使用,也可以在Servlet/JSP的Web应用中使用,最具有意义的是,Hibernate可以在EJB的J2EE框架中完成数据持久化的重任。
二、系统概要分析及其功能描述
本文介绍了这次设计的概要分析,简单地说明了它的工程模块。在购物网站可以很方便的注册,浏览查询商品,购买结账也是很简单的事情。本次设计的网络商店就简单地实现了上述功能,用户可以在网络商店进行注册,浏览商品以及查询购物车。
1、登陆以及注册
用户登陆和注册就是实现一个新的用户注册和老用户的登陆的过程,这两个功能是每个电子商务网站必不可少的一部分。用户注册就是新的用户可以在网络商店进行个人信息注册,用户必须先注册才可以购物。注册时系统会对注册信息进行验证,以确保注册信息的正确性。用户登陆就是用户可以在登陆页面进行登陆,在购物结账时,用户需要登陆信息。登陆的时候如果用户名密码错误,系统会提示错误。
2、商品浏览
商品浏览时实现用户可以在网络商店中随意浏览商品,商品是根据商品的的类别进行分类的,用户可以单击每一个分类的链接来进入每一个分类,查看详细的信息。进入每一个商品的类别之后,商品是根据每个产品的类型再分类的。3
3、结账
在结账的时候,系统会显示用户购物车中已有的商品,包括产品名,产品数量,单价,库存等信息。在最后确定订单的时候,用户可以自己修改每一件商品的数量。本系统的功能模块框图如图2-1所示。
三、系统设计
本文是对本次系统的分析过程,主要介绍了系统的各个层次,以及各个层次实现所使用的技术框架,对关系数据库进行了详细分析。
1、系统架构设计
整个应用程序遵循多个层次的构架模式,从上到下一次为视图层,控制器层,模型层,持久化层和数据库层。前三层也就是Struts框架的基本层次。持久化层是Hibernate来创建的。
其中,模型层,持久化层,数据库层之间的关系是上层依赖下一层,而下一层对上一层的依赖很少。各个层次之间的以来关系应该是自顶向下的,即上层可以依赖下层,而下层尽量少依赖上层。
要在系统中使用Hibernate来实现持久层,若要采用其他机器实现持久化层时,则不要改动业务逻辑中的代码。而视图层和控制层都是通过Struts框架来实现的。模型层实际上又可以细分为数据访问层和数据服务层。持久化层是使用Hibernate实现的,在这层使用了DAO模式,所以这层又可以分为数据访问层和数据服务层。Struts所实现的MVC框架如图3-1所示。
2、业务实体设计
本次设计网络商店中有以下的业务实体:用户,商品信息,商品系类,商品类别,订单,订单项,购物车和购物车中的具体商品。
用户(Account)。用户代表一个用户实体,主要包括用户的详细信息,如用户名,密码,用户地址等。
具体商品(Item)。代表每一个具体的商品信息,主要包括商品的名字,价格等分量信息。
商品系列(Product)。代表一系类商品。
商品类别(Category)。代表一类商品。
订单(Order)。代表用户的订单。主要包括订单名,用户信息,订单的具体内容。
订单项(LineItem)。代表订单中的具体项,一个订单包括一个商品的购买情况。
购物车(Cart)。代表用户的购物车。
购物车中的具体商品(CartItem)。表示购物车中的具体项。
将上述的业务实体分析,总结它们的各实体之间的关系如下:
用户和订单:一个用户可以有多个订单,一个订单只能属于一个用户,他们之间的关系是一对多的关系。在数据库中的表现为订单表中有一个用户表的外键,在Hibernate中就表现成订单持久化类中有一个用户持久化类的引用。
订单与订单项:一个订单中可以有多个订单项,一个订单项只可对应一个具体商品的具体信息。订单项和订单的关系在Hibernate中表现一个订单项中有一个订单的持久化类引用。
订单项与具体商品:一个订单项就是对具体商品的封装,一个具体的商品就是这个商品详细信息,订单项中除了有这个具体商品的信息,还有这个具体商品的购买数量,属于哪个订单等信息。
商品系列与具体商品:一个商品系列有多个具体商品。
商品类别与具体商品:一个商品类别有多个商品系列。
购物车和购物车中具体商品:用户的购物车可以有多个具体商品,由于是网上购物,或许购物车中把一个没有库存的商品放到了购物车中,所以购物车中具体商品就必须有这个信息。
购物商品和具体商品:这个关系和订单项与商品的关系相似,只是购物商品对具体商品的封装角度不一样,购物商品中除了要记录商品的数量,还需要它的库存情况。
各个实体之间的关系如图3-2所示。
3、业务逻辑设计
在本系统中,应用的持久化层采用Hibernate作为中间件,并使用了DAO设计模式实现数据层的访问。DAO模式是J2EE核心模式中的一种,其主要行为是在业务核心方法和具体数据源之间再添加一层,用这层来连接业务方法和数据源,这样就实现了两个的解耦合。
因为具体持久层数据源可能是多样化的,可能是XML或者关系数据库。通过使用DAO模式,业务逻辑核心部分就不用关心数据层是如何实现对数据库的操作的,而只关心自己的业务操作,对数据库的操作全部交给了DAO代理,如下图3-3所示。
四、结论
这次设计的网络购物系统是使用Struts和Hibernate技术进行简单的构建的,在设计中,使用到了Struts框架的MVC模型结构,同时结合Hibernate技术,使用DAO设计模式,在业务逻辑和数据源之间增加一层,更为方便安全地对数据库进行操作。在设计地过程中调用了大量地API,并需要对控制器,业务实体等进行相应配置。设计过程中要对面向对象有很清楚地认识,这样在操作过程中才能利用提供地API来完成各个模块要实现地相应功能。
参考文献:
[1].宋汉增,沈琳;利用Hibernate对象持久化服务简化Java数据库访问[J];计算机应用;2003.12
[2].沈锐;基于J2EE物流系统持久层的Hibernate解决方案[J];电脑知识与技术;2005.03