struts+dao+hibernate模式

原创 2007年09月19日 16:06:00
静下心来好好的写写这方面的东西了!整体的小组都在学习这个架构的东西,还是来一一介绍:

    struts:在这个架构中,struts的角色完全的被前台化了,就是说这是一个更广泛意义上的mvc架构,只是在不同的层间采用了不同的架构和技术,struts本身的配置和使用并没有什么好学习的地方,在我的第一篇文章中已经阐述的很清楚了,懂得那些就基本OK了!但是他的功能强大之处在于标签的使用,因为真正jsp的应用最好的方式是不要在页面上出现任何的java代码,如何做到,那就是struts的标签和EL表达式。

    dao模式:其实就是一系列的接口,工厂的引入是为了适应不同的数据库,因为仅仅使用dao而没有使用工厂模式,那么我们在struts中要使用dao的实现是就需要这样的定义:假如我的是userDao

    userDao ud  = new userDaoImpl();

    (顺便说一下,大家看出这个是什么了吗!? 这叫做类的多态,面向对象最不好理解的一个特性。)

    也就是说我必须知道实现是什么我才能做事情,这个实现是依赖于数据库的,一旦我们更改了数据库,那么好所有的子类全都要改,我们要该的不是别的!而是成千上万个页面上的方法,这显然不符合我们面向对象的思想。

    那么如何来解决这个问题 就是使用工厂

    工厂来找dao,比如:

    public static userDao getuserDaoinstance()

{

    return new userDaoImpl();

}

 

在struts中调用的时候就好说了!就是

DAOFactory.getuserDaoinstance().***();

大家可以很明显的看到,前台的struts已经没有了具体的实现类,因为他根本就没有必要知道我后台数据库是什么,我要找谁去实现我下面的操作,交给工厂就可以了!工厂去给你生产。

 

hibernate,这几个中最没有技术含量但是最繁琐的就是hibernate,他异常的强大,可能后期的操作我们对hibernate就是一个配置,而操作要放到dao的implent中,呈现放到struts中。这样。

    他的整体的一个走向应该是这样的:

    client》提交表到到 struts》请求 daofactory》 我需要实现什么方法 dao》按照我声明的接口去实现》daoimpl》我需要知道我操作那个数据库 hibernate

    如何操作hibernate 是通过一个session对象来操作,hibernate的session有别于httpcontext的session,为什么要hibernate来持久化,我个人理解是这样的!他是仿照http协议来进行的,因为http协议是一种无状态的协议,那么我要想在一定的时间内保持一定的数据,就需要试用他提供的一个session来保持数据的“持久化”,同样为了在程序中对数据进行持久化的保持,hibernate模仿http协议,不过他就是懒省事,直接把本应该是什么名字的东西也叫成了session,并且由这个session来完全的操作hibernate。

 

struts+spring+hibernate的web应用<二> Dao层代码编写

前一篇文章 ( 架构搭建" href="http://www.blogjava.net/rickhunter/articles/103481.html" target="_blank">struts...

java中从Spring、Hibernate和Struts框架的action、service和dao三层结构异常处理体系设计

java中从Spring、Hibernate和Struts框架的action、service和dao三层结构异常处理体系设计   Spring的事务实现采用基于AOP的拦截器来实...
  • mwyking
  • mwyking
  • 2016年05月24日 17:20
  • 409

Struts2 + Spring + Hibernate 通用 Service 和 DAO

我在 Struts2 + Spring + Hibernate  项目开发中总结出了一个Service 和 DAO ,可以用于处理任何的pojo。使用这两个Service 和 DAO 可以极大地提高开...

struts2+hibernate+spring分页实现(DAO,Service,Action三层架构搭配)

Java代码  class=java name="code">       import java.util.List;       public interface Pa...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:struts+dao+hibernate模式
举报原因:
原因补充:

(最多只允许输入30个字)