苏州北大青鸟|电脑人才培训中心『官方网站』

高中生毕业了做什么?高中生学什么好 苏州北大青鸟、苏州北大青鸟学费、苏州北大青鸟地址
ACCP7.0培训-入手最快 JAVA培训—收入最高 .NET培训—就业面最宽 网络营销培训—需求量最大
高中毕业学什么好 大学生找不到工作怎么办 学什么技术有前途(好转行) 初中(中专)毕业学什么好
当前位置: 主页 > 青鸟百科 >

JSP SSH拍卖网站|在线购物毕业设计

时间:2012-05-11 17:45来源: 作者: 点击:
2.3界面的设计
   Ⅰ.登陆模块,用于登录拥有各种权限类型的用户,是系统唯一的入口,界面选项中有详细的说明。
   .用户模块,用户对物品的基本信息、物品种类、个人等信息的管理和维护,包括如下几个部分:
l   物品管理,增加、查看和竞价。
l   查看个人基本信息。
l   物品种类查看和添加,只有管理员权限有效。
l   赢取物品查看。
l   流拍物品查看
l   查看正在拍卖中的物品和详细信息。
.注册模块
.所有的页面通过SiteMesh装饰器来过滤装饰页面。
2.4系统架构设计
      本系统采用的java EE的3层结构,分为表现层,业务逻辑层和数据服务层。3层体系结构将业务规则,数据访问等工作放到中间层处理,客户端不直接与数据库交互,而是通过控制器与中间层建立连接,再有中间层与数据库交互。
      表现层禁止JSP内嵌java脚本,JSP页面使用Struts2标签显示数据,生成页面显示效果,这彻底的使表现层和中间层(控制层+业务逻辑层)分离。利于系统的维护和开发。
      中间层采用Struts2+Spring+Hibernate,为了分离控制层与业务逻辑层:他们可分为:
l       Web层,就是MVC模式的C,负责表现层与业务逻辑层的交互。调用业务逻辑层,并将业务数据返回给表现层来显示。MVC框架采用流行的开源Struts2.
l       Service层(业务逻辑层),负责实现业务逻辑,对DAO对象进行正面模式的封装。
l       DAO层(数据访问对象层),DAO层全部的底层数据库操作用Hibernate进行封装处理,封装了数据的增,删,查,改原子操作。这些操作都对接口进行了编程,降低了系统各个模块之间(业务逻辑层和数据访问对象层)的耦合度。
l       PO层(持久化对象层),通过实体/关系映射工具将关系型数据库的数据映射成对象,实现以面向对象的方式操作数据库,本系统采用了Hibernate作为O/R Mapping框架。
     
  通过Struts2,提供了良好的MVC模式,所有的用户请求都由Struts2的Action负责拦截,然后通过Spring提供的自动装配功能,定位Spring容器的业务逻辑组件,调用业务逻辑组件方法来处理客户的请求.
  本系统还使用了SiteMesh页面装饰器,从而提供了更统一的整站效果。
  数据服务层使用MySQL数据库存放数据。
 系统的总体架构图2.0
 
 
 
 
2.5相关技术介绍
   本系统的IoC容器使用Spring框架,Spring容器负责中所有组件,是系统最大的工厂。数据的持久化使用Hibernate完成,表现层的MVC框架使用Struts2,页面装饰使用SiteMesh框架。这些框架都是目前最流行的轻量级java EE,其中Struts2与SiteMesh的无缝整合,为本系统的大规模应用场景提供了保证。
 
a) Jsp技术
本系统使用JSP技术作为表现层技术,它负责收集用户的请求数据,并将用户请求数据提交到指定的控制器。当系统处理完用户请求后,jsp页面还负责处理结果呈现也用户。本系统的JSP页面禁用了java脚本,保证了JSP页面只作为系统表现层使用,避免将业务逻辑混杂在表现层中。通过使用Struts2的页面标签,可以保证JSP页面中不再出现任何小脚本,从而保证了JSP页面只有表现逻辑。
 
b) SiteMesh技术
SiteMesh通过PageFilter来过滤用户request和服务器response,并对服务响应增加了一定的页面装饰,然后把装饰后的页面返回给客户端。对于被封装的页面而言。完全无需关系页面被装饰器装饰(装饰器被配置在配置文件中,由装饰器配置文件来控制那个装饰器装饰那些页面)。通过这种方式可以最大限度的实现页面代码复用,并提供优秀的解耦。
 
c)   Struts2技术
用户所有请求都由Struts2的FilterDispatcher过滤,通过这种方式,将系统的所有的请求都转入Struts2系统内,从而保证了所有的请求都交给了Struts2的Action处理。Action可以把处理结果转发任何页面,也可以不是JSP,HTML的表现层,可以使FreeMarker为表现层的技术显示。如果转发的又是一个Action,那些系统就涉及Action链,即需要修改Action转发的类型(type)为chain,
将所有的请求都使用FilterDispatcher拦截还有可以提高系统的安全性,就是帮所有的页面放入WEB-INF路径下。
本系统采用了Struts2和Spring的整合策略,当Struts2和Spring整合时,使用了Struts2提高的Spring插件,该插件将Struts2的objectFactory设置成Spring,这就意味着Struts2的Action实例也是由Spring容器负责生产,然后通过指定的Spring的自动装载策略从而让Struts2的Action定位Spring容器中的业务逻辑组件。图3.0为Struts2和Spring整合策略的协作图。
                      图4.0
 
因为Struts2的objectFactory直接改为了Spring容器,从而让Struts2的Action直接由Spring容器来产生,进而让用户请求进入Spring容器内部,一旦进入了Spring IoC容器内部,IoC容器就负责管理都有的业务逻辑组件,DAO组件,从而将系统所有的组件串联起来。  
d) Spring框架
借助于Spring IoC容器的支持,容器中各个组件一松耦合的方式组合在一起,组件与逐渐之间的依赖通过Spring的依赖注入进行管理。系统中各个组件之间面向接口编程,降低了系统的异构的代价。
DAO对象的创建使用了Spring的HibernateDAOSupport作为基类,继承HibernateDaoSupport的DAO对象实现更加简单,无需管理Hibernate的SessionFactory,Session等对象。通过Spring提供的HibernateTemplate完成数据库操作。
事务采用Spring的声明式事务框架。通过声明式事务,无需将事务策略一硬编码的方式与代码耦合在一起,而是放在配置文件中声明,业务逻辑组件可以更加专注于业务的实现,从而简化开发,同时声明式事务降低了不同事务策略的切换代价。
Spring的邮件抽象层为系统的邮件通知提供了支持,Spring的邮件抽象层简化了邮件的发送。
Spring的任务调度为系统的后台任务调度提供了支持,系统周期性执行的任务判断拍卖物品是否已到最后期限,从而修改物品的状态,让最高的竞价者赢取物品。
e) Hibernate框架
Hibernate作为O/R Mapping框架使用,Hibernate提供了O/R Mapping功能简化了数据库的访问,Hibernate在JDBC层上提供了更好的封装,以面向对象的方式操作数据库,更加符合面向对象程序设计的思路。
Hibernate自己提供了一套HSQL语言来操作数据库,无需编写繁琐的SQL语句,执行冗长的多表查询,而通过对象与对象之间的关联操作数据库。它为底层的DAO提高了支持。
 
 
   
3.系统的实现
   3.1实现Hibernate PO
      Hibernate PO由两个部分组成:持久化类和映射文件,其中映射文件负责吧持久化类映射到数据库的表,并把持久化类的属性映射大到数据列。通过这种映射,就可以以面向对象的方式操作Hibernate 的PO,而Hibernate负责把这种操作转换成底层的JDBC数据库的访问。
      由于篇幅有限下面将对系统中物品PO类代码进行分析:
 
 
从上面的PO类中可以知道,PO类采用的Set类型保存该实体一对多的关联实体,这也是Hibernate的关联映射策略。
 
 
当PO类中采用了Set属性来保存所有关联实体后,就可以才映射文件中使用<set../>元素来映射这种关联实体。
下面是实体映射文件代码:
 
 
 
上面的映射文件将item PO类映射到item数据表,并使用了系列<set../>元素来映射该实体对应关联实体。
 上面配置文件中存在大量的多对一的关联映射,表示每个many-to-one子元素映射一个多对一的关联实体,增加了lazy=”false”属性,该属性表示该关联实体关闭延迟加载。每个class元素用于映射一个持久化类。
     实现了系统的PO后,程序就可以通过PO的创建,修改和删除等操作,转换成底层数据库记录的新增,修改和删除等操作。
   
3.2管理SessionFactory
    Hibernate持久化操作需要SessionFactory的基础上,系统将使用Spring的来管理Hibernate的SessionFactory。SessionFactory是数据库连接的封装。
    Spring的IoC容器是一个功能强大的工厂,不仅可以中的业务逻辑组件,还可以数据源。我们将SessionFactory配置成一个普通Bean,当Spring容器启动时,系统将自动创建SessionFactory Bean。
    因为Spring的Ioc容器将SessionFactory纳入了容器管理之中,而且系统的DAO组件也在容器的管理之中。因此,Spring的IoC容器还可将SessionFactory实例注入到每个需要持久化操作的组件中,从而以松耦合方式来管理Hibernate的SessionFactory,避免了直接在DAO组件中主动获取SessionFactory实例。
在Spring容器中配置SessionFactory的配置段如下:
 
 
 
 
 
3.3实现DAO
    系统将所有的持久层访问都封装在系统的DAO层,所有的持久化访问都通过系统的DAO组件来实现,避免业务逻辑组件与持久化访问耦合。每个DAO组件包含了数据库的访问逻辑,每个DAO组件可对一个数据表完成基本的CRUD操作。
    DAO模式的实现需要以下3个部分:
l         DAO工厂类。
l         DAO接口。
l         DAO接口实现类。
     
      对于不同的持久层技术,Spring的DAO支持基本一致:提供一个DAO模板,将通用的操作放在模板里完成,而对于特定的操作,通过回调接口完成。使用IoC容器避免了实现自己的DAO工厂。
      Spring为Hibernate提供的DAO支持类是:HibernateDaphneSupport,该支持类为实现DAO组件提供了两个便捷的方法:
l         setSessionFactory(SessionFactory sf):该方法可用于依赖注入SessionFactory实例。
l         getHibernateTemplate():该方法可以方便的获取HibernateTemplate实例。
    获取Spring的HibernateTemlate实例后,大部分持久操作都可以通过HibernateTemlate实例的一行代码来完成。
3.3.1实现系统DAO组件
  本系统包含5个实体,这5个实体对应系统的5个DAO组件,这5个DAO组件分别用于操作5个实体,并且向上支持AuctionManager业务逻辑组件的实现。
   下面是系统DAO组件和业务逻辑组件得到依赖关系图4.0:

标签:

(原文标题:JSP SSH拍卖网站|在线购物毕业设计

(责任编辑:苏州北大青鸟



相关新闻

  • E-learning云计算机市场份额逐渐扩大
  • 基于WEB的成本管理系统的设计
  • 基于WEB的学生成绩管理系统的设计及
  • 基于WEB的汽车信息网站的设计
  • 基于WEB的信息信息发布系统的设计及
  • 基于WEB的JSP实验室管理系统的设计
  • 基于WEB的企业人事管理系统的设计
  • 基于JSP的商场进销存管理系统的设计
  • 基于JSP的网络交易市场物业管理系统
  • 基于WEB的毕业设计选题系统的设计及
    更多
    分享按钮
    ------分隔线----------------------------
    招生专题