我现在准备用struts2开发一个交友网站。比如说向校内那样的网站,当你登陆时,会有很多显示信息,比如说好友的头像,最近访客,我的资料,校内新鲜事,人气榜之类。这个页需要的数据,是否都写在一个action的属性里? 另外这些数据肯定是需要读很多表的,是否需要写很多的service?如何设计这些service? 如何分层? 请有经验的朋友详细讲解一下?

解决方案 »

  1.   

    只用struts2,还要分层吗?
    struts2不就是专门负责web层的东西吗?
      

  2.   

    strut2分两层,父的action,其他是子类action
      

  3.   


    难道我发错板了? 这个问题不是在java web开发这问吗? 奇怪了!
      

  4.   

    对! 没错! 是用mvc!  我想问业务逻辑怎么分层? 谢谢
      

  5.   

    校内的页面上有很多分类,但不能保证每个分类的数据不是从一个表中查出的,所以
    每个分类可以对应一个action,一个action对应多个sevice,一个sevice调用多个dao。一个dao对应一个实体。
    不知道这样好吗???
      

  6.   

    恩,楼上的朋友有道理。 我想问一下这个对service和dao的分类有什么设计原则没有?
      

  7.   

    应该在一个action中写,降低消耗,service,dao等可以分开写
      

  8.   

    当然选mvc 至于struts分层就不必了因为在mvc中struts就是应用于视图层(view),楼主的意思是想让视图操作,业务处理操作,数据库操作明显分开,其实就是mvc模式,应用dao最合适,dao层负责底层的数据库操作,service用于处理业务逻辑,而action用于处理请求,实现转发,就是struts了,层于层之间通过接口调用,降低耦合性,对于系统日后维护非常有利。
    http://www.blogjava.net/apple0668/archive/2008/01/21/176707.html
      

  9.   

    我建议这样分层:
    1 持久层(dao) 操作数据库
    2 业务逻辑层  处理业务逻辑,上连Action下连dao层
    3 Action 从页面获取信息,并传递给业务逻辑层进行处理
      

  10.   

    分层与structs无关,跟java代码才有关
      

  11.   

    1.操纵数据库的DAO层
    2.服务层 
    包括调用DAO的接口及其实现类
    Hibernate的实体类,值对象
    3.呈现层
    就是struts2来做了
    一般是一个模块一个action类了,如果实现方法写在一个action中方便的话,就放一个action中
    4.业务逻辑service和action交给spring来管理,包括事务也是交给spring管理
      

  12.   

    Struts 本来就是三层模式
    《MVC》楼主不理解吗?
    可以去GOOGLE搜索下。。
      

  13.   

    我现在开发的项目刚开始的时候也是出现楼主的疑惑,在网上找不到统一的答案,最后就自己根据使用角色进行了service层的分类。
      

  14.   

    现在项目已经开始开发了,还是头一次开发java项目,随着我对struts2的理解慢慢的也理解了应该如何分层。有空的话我总结一下 再发个贴。