大家都知道struts是一个非常传统的MVC框架
但是被大量的程序员所认可……
那非传统的框架有哪些?都有什么性质?
跟struts的区别是什么?有点劣势……越详细分数越高。

解决方案 »

  1.   

    1、首先明确一个概念:框架是由于使用它的人多才显得传统,而不是因为其传统(比如历史长)大家才来用它
    2、每个框架都有自己的适用范围
    Struts:表示层,基于请求的MVC框架
    Hiberbate:持久层
    Spring:业务逻辑层,对象管理
    目前我只用过以上三个,对其他框架没有多少了解,我认为非传统的框架是因为其适用范围不够广泛造成的(例如处理相关事务能力有局限性),比起以上三个架构层面上功能或者其性能<=传统框架(经典框架)处理事务的能力。
      

  2.   

    传统的 J2EE Web 层框架中的 MVC 架构都是基于 Thin Client 模型的,如楼主说的struts1.*、struts2.*,还有WebForm、MonoRail等等。一个基本的假设是智能完全存在于服务器端,并没有考虑到客户端的处理能力
    非传统MVC有NClay、JpetStore 、spring mvc等等
    Ajax/Flash/XUL/XAML 还有移动智能应用的出现使得智能客户端越来越流行,客户端的智能有越来越强的趋势
    这个趋势对于传统的 MVC 架构形成了很大的冲击,传统的架构如果不重新思考和设计,就很难适应这种变化
    首先遇到的问题就是服务器端的 Controller 无法控制客户端的表示逻辑,而不能简单地把分布在客户端的表示逻辑作为原来架构的 View 来看待
    现在不仅服务器端要有 MVC,客户端同样要有 MVC,并且它们之间还要进行交互和同步
    因此需要以一种新的角度,综合考虑客户端和服务器端智能的分布,设计出来一种新型的整体 MVC 架构来
    没有了传统的直接操作http request & http response的服务端应用,那么服务端和客户端之间传递的都是java对象(无论是cs还是bs下),那按照这个逻辑框架,理论上就可以使V和MC彻底解藕,开发的服务端就可以通用于浏览器或者客户端程序,在这个逻辑下制作的MVC框架才是彻底的MVC
      

  3.   

    请教1楼和2楼,webwork这个MVC框架如何?还有,什么是“Thin Client 模型”,为什么它已经不适应发展趋势了?
      

  4.   


    webwork已经与struts2组织合并了。struts2与struts相比已经发生了根本性的变化。S2基本上采用了webwork的设计思想和核心。个人认为S2使用比较方便。
    所谓瘦客户端(thin Client),就是把相应的处理放在服务器端执行。客户页面主要负责显示等基本的处理。随着应用的日益复杂,服务器端面临越来越大的压力。瘦客户端的模式面临很大的挑战。
      

  5.   

    struts mvc思想是最先进的,最先进不一定是最好的方法,可是行动是弱的,远不如asp.net代码分离模式好.特别对于像分页这样的操作,会累死人的.什么时候java能发展出asp.net绑定代码方式.那将是对j2ee人员一次大解放.j2ee下面的orm和spring框架很是先进.但做界面真是太受罪,这如段玉只有内功,没有外功,真是让人难受.