小弟初接触mvc三层架构,一开始还是挺清楚的,但是随着学的东西的增加,越来越迷糊,开始弄不清楚哪个属于哪一层了?
比如说,在struts中应该说应该属于web层,但是Action实现的servlet的作用,想当于在controller层工作,这就迷糊了,不知道到底属于哪一层了,有的老师在业务逻辑层处理相关操作,但是有的又在action中处理,到底属于哪一层呢?
还有,我看有的老师还有老师的在逻辑层直接访问对数据库的操作,那dao层在哪呢?service层就是dao层?越来越迷糊,希望求正解!

解决方案 »

  1.   

    action---只获取页面数据,调用service方法,跳转页面
    service---处理业务逻辑,调用dao方法
    dao---只对数据库操作
      

  2.   

    可以简单的将j2EE理解为以下4层 
    客户端
    WEB层(又分为MVC)
    业务层(service)
    持久层(dao)
      

  3.   

    不是说action的作用是mvc中的c吗,这不是控制层吗,应该相当于service啊,为什么又说action是web层的呢?
    还是不明白!
      

  4.   

    LG 你还不太了解struts2原理了。action 是充当mvc中的m而真正的controller是filterDispatcher和一系列的interceptor。2.1.2以上用了别的
      

  5.   

    视图(action)---业务(bo)---数据访问(Dao)
    视图:处理客户端请求
    业务:实现业务需要的操作
    数据访问层:操作数据库。CRUD操作
      

  6.   

    好吧 我来通俗一点
    MVC   中的M(模型)是javabean充当
              V(试图)是jsp或者html充当
              C(控制)是action充当哦 这个不是整个项目哦 只是对struts的概括,如果整个程序的话   struts只是视图层而已hibernate持久层,spring应该算是控制层了吧像BO啊pojo啊 应该算是业务模型层了
      

  7.   

    三层架构和mvc不是一个概念的,楼主这2个你不要搞混了
      

  8.   

    我一直以为三层架构和mvc是同一个概念,难怪越学越混!楼上的哥们,能把三层架构和mvc不同之处说清楚的吗,
    也好帮助我理解
      

  9.   

    mvc是一种开发模式,是种框架,里面包含了很多种框架,ssh等等