基于Struts和Hibernate的网络商店的研究与开发设计

来源 :大观周刊 | 被引量 : 0次 | 上传用户:fighterok
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文根据软件工程的流程分别阐述了系统需求以及系统功能的描述,系统设计。利用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
  
其他文献
本文在介绍中学化学数字化实验系统的基础上,对它的应用及与传统化学实验相比而显示的出优势进行了论述。中学化学数字化实验不能完全代替传统化学实验.它与传统化学实验可优势
“双创”教育作为“双一流”建设人才培养的关键环节,对于提升高校人才培养质量、提升高校国内和国际地位、建设“双一流”高校具有理论指导和实践意义。本文分析了我国目前
裂缝是混凝土结构常出现的问题,裂缝形成的原因众多,控制难度较大,不仅影响工程质量,还影响美观程度。为保证混凝土结构质量,控制裂缝是必不可少的,进行结构设计时不仅要根据受力控
随着社会主义市场经济体制的不断改革和发展,国家对烟草专卖制度的不断加强,烟草行业改革的不断深入以及行业经营的日益规范,我国烟草行业有了迅速的发展,同时,有力推动了整个国民
目的:探究“对分课堂”在物流学课程教学中的应用效果。方法:比较在物流学课程中对照班和试验班分别采用传统讲授和“对分课堂”教学的教学效果。结果:试验班学生在期末考试
目的了解非活动性HBsAg携带者(inactive HBsAg carriers,IHC)临床特征及自发性HBsAg血清学清除相关因素。方法纳入2009年1月至2015年12月在北京佑安医院就诊且至少随访一次的
随着我国城镇化建设的大力发展,城市的可用地皮越来越少。房屋的建设也逐渐向高层发展。高层房屋的建设与一般房屋的建设有很大的不同性。高层房屋的建筑特点增加了其建筑施工
书法艺术是中国传统文化艺术中的一支奇葩。青少年应学习和借鉴前人留下的宝贵经验,传承和发扬书法艺术。