struts2权威指南-略说struts1、webwork、struts2

By | 10月18日
Advertisement

所谓Model1,就是jsp大行其道的时代。

Model1可以开发小规模项目。

局限性:

混有viewcontroler两种角色,将控制逻辑和表现逻辑混杂在一起,重用性低,增加应用扩展度和维护性。

一个设计模式提供一种提炼子系统或软件系统中的组件或者他们之间的关系的纲要设计。设计模式描述普遍存在的在相互通信的组件中重复出现的结构,解决一般性的设计问题。

Struts1是世界上第一个发布的MVC框架。

Struts1,控制器是它的核心。有两个控制器:核心控制器(ActionServlet),业务逻辑控制器。

缺点:

没有提供与更多视图技术的整合。

充斥大量servletAPI,难于测试。

侵入式设计导致代码复用率低。

Webwork

采用更加松耦合的设计,让系统Action不再与servletAPI耦合

Webwork 建立在Xwork基础上,使用ServletDispatcher作为核心控制器

WebworkAction可以和Servlet API分离,使用了一个拦截器链,负责将用户请求转发到Action,并负责将Action处理的结果转换为对用户的响应。

Webwork创建的控制器代理

指定的视图资源经过拦截器链的处理后,生成对客户端的响应输出。

Struts2有两个框架

Struts1webwork结合后的struts2框架

Shale是一个SOA架构

Struts2大量使用拦截器来处理用户请求,从而允许用户的业务逻辑控制器与Servlet API 分离。

Struts2 的核心控制器FilterDispatcher

在默认时,<result>标签的type属性值是“dispatcher”(实际上就是转发,forward)。

这此result-type可以在struts-default.xml文件中找到

Similar Posts:

  • 《struts2权威指南》学习笔记之struts2之文件下载

    对于服务器上的英文名的文件,可以方便的使用<a href=""/></a>进行下载,但如果是中文文件名的文件,如果使用<a href="中.jpg"></a> 就会出现连接上的乱码(如%4e%54%79),为了解决这个问题,struts2通过一个文件下载拦截器支持中文命名文件的下载 首先编写web.xml <?xml version="1.0" encoding="UTF-8&quo

  • 《struts2权威指南》学习笔记之struts2整合Spring

    整合Spring,换句话说,也就是让spring的IOC功能为我们的struts action注入逻辑组件 首先需要加载struts2-spring-plugin-2.0.6.jar这个包,这个是关键,他可以帮我们把struts2和spring仅仅整合在一起 首先是web.xml <?xml version="1.0" encoding="utf-8"?> <web-app version="2.4" xmlns="h

  • 《struts2权威指南》学习笔记之struts2 ajax标签

    div标签用于在页面上生成一个div元素,但这个div元素内容不是静态内容,而是从服务器上获取数据,为了让该div能够取得服务器上的数据,必须为div标签指定一个href属性,这个href属性必须是一个action,该action负责生成该div的内容 因为div是一个ajax标签,因此要为这个标签增加theme="ajax"属性 web.xml <?xml version="1.0" encoding="GBK"?> <web

  • Struts2权威指南--基于WebWork核心的MVC开发源码

    <<Struts2权威指南--基于WebWork核心的MVC开发>>源码

  • Struts2权威指南笔记

    Struts2权威指南笔记 1.mvc特点包括: ① 多个视图可以对应一个模型 ② 模型返回的数据与显示逻辑分离 ③ 应用层被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性 ④ 控制层的概念也很有效,由于它把不通的模型和不同的视图组合在一起,完成不同的请求 ⑤ Mvc更符合软件工程化管理的精神 2.Struts2框架的大致处理流程: ① 浏览器发送请求,如请求/mypage.action ② 核心控制器FilterDispatcher根据请求决定调用合适的Action ③ Webwork

  • 3.[Struts2权威指南笔记]整合Spring

    1.Struts2插件 Struts2通过提供各种插件,用于与大部分流程的J2EE框架进行整合. 插件概述 Struts2的插件是一个JAR文件,这个JAR文件可以用于扩展.改变或者添加Struts2的功能.每个Struts2的插件JAR都包含一个名为struts-plugin.xml的配置文件,struts-plugin.xml文件的内容与普通的struts.xml文件内容完全相同. 当把这个包含struts-plugin.xml文件的JAR文件复制到Web应用中时,Struts2会自动加载该

  • struts2权威指南 aop实现原理 笔误代码

    关键字:struts2 ,aop实现原理 最近在学习李刚老师的struts2权威指南 ,从书的内容上看感觉李刚老师有丰富的开发经验. 不过在学习到213页关于aop拦截器的实现原理代码中,感觉有个笔误的地方! 拦截器的实现原理JDK的动态代理 /** * 因为Dog 动态代理只能对实现了接口的实例来生成代理 * @author Administrator * */ public interface Dog { public void info(); public void run(); } pu

  • Struts2权威指南总结3:Struts2基础

    1,struts1的mvc实现: Struts1是世界上最古老的mvc框架,出现于2001年.由ActionServlet作为核心API. Struts1使用ActionForm接受请求参数. 2,WebWork WebWork以ServletDispatcher为核心.使用ServletDispatcher处理用户的所有请求,它是整个WebWork框架的核心控制器. WebWork的Action与Struts2类似,都可以继承基类ActionSupport,以便于实现一些功能.WebWork的

  • Servlet、Struts1 和Struts2 线程安全问题总结

    面试的时候遇到这个问题,现在分享下. Struts1: 当第一次*.do请求过来时,在内存中的actionmapping中找到相对应的action,然后new出这个action放在缓存中,当第二次一样的请求过来时,还是找这个action,所以对于struts1来说,action是单实例的 ,只有一个,如果在action中定义变量,就要非常小心了,因为并发问题,可能带来灾难性的后果,也不是不可以,我们可以加锁达到同步,只是在性能上就要折衷了. Struts2: 每次请求过来都会new一个新的act

  • Struts1和Struts2的区别和对比(完整版)

    Struts1和Struts2的区别和对比(完整版) struts2不是struts1的升级,而是继承的webwork的血统,它吸收了struts1和webwork的优势. 先看struts的Action官方注释(struts1.3.8源代码) /** * <p>An <strong>Action</strong> is an adapter between the contents of an * incoming HTTP request and the corre

Tags: