struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说
struts2是struts1和Webwork结合的产物。
struts2 的工作原理图:
一个请求在Struts2框架中的处理分为以下几个步骤:
1.客户端发出一个指向servlet容器的请求(tomcat);
2.这个请求会经过图中的几个过滤器,最后会到达FilterDispatcher过滤器。
3.过滤器FilterDispatcher是struts2框架的心脏,在处理用户请求时,它和请求一起相互配合访问struts2
的底层框架结构。在web容器启动时,struts2框架会自动加载配置文件里相关参数,并转换成相应的类。
如:ConfigurationManager、ActionMapper和ObjectFactory。ConfigurationManager 存有配置文件的一
些基本信息,ActionMapper存有action的配置信息。在请求过程中所有的对象(Action,Results,
Interceptors,等)都是通过ObjectFactory来创建的。过滤器会通过询问ActionMapper类来查找请求中
需要用到的Action。
4.如果找到需要调用的Action,过滤器会把请求的处理交给ActionProxy。ActionProxy为Action的代理对象
。ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action类。
5.ActionProxy创建一个ActionInvocation的实例。ActionInvocation在ActionProxy层之下,它表示了
Action的执行状态,或者说它控制的Action的执行步骤。它持有Action实例和所有的Interceptor。
6.ActionInvocation实例使用命名模式来调用,1. ActionInvocation初始化时,根据配置,加载Action相
关的所有Interceptor。2. 通过ActionInvocation.invoke方法调用Action实现时,执行Interceptor。在
调用Action的过程前后,涉及到相关拦截器(intercepetor)的调用。
7. 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果
通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表
示的过程中可以使用Struts2 框架中继承的标签。
相关推荐
Myeclipse+struts2.0+tomcat6.0+jdk1.6环境
我的Struts2.0文件上传原理实例 博文链接:https://zmx.iteye.com/blog/459187
Struts2.0 实现文件上传进度 原理和实现 主要是实现Struts2.0的监听器
struts2.0中文帮助手册,主要从原理方面简单阐述了struts2.0的一些特性。
详细的讲述了struts2.0的工作原理
主要介绍Struts2.0框架的原理和一些基本用法,里面包括和Ajax的组合应用
struts 2.0和spring整合的原理以及过程讲解 作为工作学习,放在此处。
struts2.0注解详解。里面有注解原理,为什么使用注解,注解标签详解。还有实例可以参考。大家可以下载下来看看
struts 2.0与ajax结合的实例以及原理讲解。返回数据使用JSON形式,使用的是google 的ajax插件。 里面外附一份javascript内核系列的教程。
几个利用Struts2.0的编程实例,本实例很好的说明了,Struts2的核心技术之一--拦截器的原理!
<br>实现原理 基于不重新发明轮子的原则,Struts 2并没有开发新的AJAX框架,而是使用时下Java EE平台中比较流行的AJAX框架——Dojo和DWR。 <br>最近在Musachy Barroso等同志的无私奉献下,开发了Struts 2...
里面包括了文件上传的jsp页面和action中的处理代码。可以清楚的知道文件上传与下载的工作原理
Struts已经成为了一个高度成熟的... 本课程从基本的struts使用开始,深入原理讲解,授人以渔!同时,将工作中容易出现的细节问题讲透,让大家少走弯路。 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
结合webwork原理struts1.x.与jsf很相似.
精简全面讲解Struts 2.0Struts2产生背景 工作原理 实现步骤 标签 命名空间 转换器 国际化 输出 令牌机制 拦截器 表单校验(jQuery.validate验证框架) 上传 下载 OGNL(ActionContext StackContext ValueStack区别)
1.1. Hibernate工作原理 2 1.2. 什么是Hibernate的并发机制?怎么处理并发问题? 2 1.3. Hibernate自带的分页机制是什么?如果不使用Hibernate自带的分页,则采用什么方式分页? 3 1.4. hibernate的对象的三种持久化...
12.1.1 Struts 2.0框架工作流程 214 12.1.2 Struts 2.0与Struts 1.x框架的区别 215 12.2 MyEclipse创建基于Struts 2.0框架的项目 215 12.2.1 下载Struts 2.0开发包 216 12.2.2 创建Struts 2.0项目 216 12.2.3 配置...
Spring2.5相比Spring 2.0和更低版本来说,虽然核心思想和原理一脉相承,但在使用和功能上都有了很大的升级和改动,Spring 2.5使得应用更加简洁方便,开发效率更高,功能更加强大。 你想了解Spring 2.5吗?你想学习...
个 人 简 历 基 本 信 息 姓名... 熟悉 Java、JSP/Servlet、Struts1.2、Hibernate、Spring、Struts2.0 熟悉 HTML、JavaScript、XML、CSS 、AJAX、JQuery; 能够以 Oracle/Tomcat/MyEclipse/搭配开发环境,Oracle 是企业