所谓Model1,就是jsp大行其道的时代。
Model1可以开发小规模项目。
局限性:
混有view和controler两种角色,将控制逻辑和表现逻辑混杂在一起,重用性低,增加应用扩展度和维护性。
一个设计模式提供一种提炼子系统或软件系统中的组件或者他们之间的关系的纲要设计。设计模式描述普遍存在的在相互通信的组件中重复出现的结构,解决一般性的设计问题。
Struts1是世界上第一个发布的MVC框架。
Struts1,控制器是它的核心。有两个控制器:核心控制器(ActionServlet),业务逻辑控制器。
缺点:
没有提供与更多视图技术的整合。
充斥大量servletAPI,难于测试。
侵入式设计导致代码复用率低。
Webwork:
采用更加松耦合的设计,让系统Action不再与servletAPI耦合
Webwork 建立在Xwork基础上,使用ServletDispatcher作为核心控制器
Webwork的Action可以和Servlet API分离,使用了一个拦截器链,负责将用户请求转发到Action,并负责将Action处理的结果转换为对用户的响应。
Webwork创建的控制器代理
指定的视图资源经过拦截器链的处理后,生成对客户端的响应输出。
Struts2有两个框架
Struts1与webwork结合后的struts2框架
Shale是一个SOA架构
Struts2大量使用拦截器来处理用户请求,从而允许用户的业务逻辑控制器与Servlet API 分离。
Struts2 的核心控制器FilterDispatcher
在默认时,<result>标签的type属性值是“dispatcher”(实际上就是转发,forward)。
这此result-type可以在struts-default.xml文件中找到