struts2原理

一 工作原理

在Struts2框架中的处理大概分为以下几个步骤 
1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 
2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 
3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action 
4 如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy 
5 ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类 
6 ActionProxy创建一个ActionInvocation的实例。 
7 ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。 
8 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper

二 工作流程

1、客户端浏览器发出HTTP请求.

2、根据web.xml配置,该请求被FilterDispatcher接收

3、根据struts.xml配置,找到需要调用的Action类和方法, 并通过IoC方式,将值注入给Aciton

4、Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。

5、Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面

6、返回HTTP响应到客户端浏览器

时间: 2024-09-29 23:30:43

struts2原理的相关文章

Struts2原理及简单实例

参考连接: http://blog.csdn.net/laner0515/article/details/27692673/ http://www.cnblogs.com/sobne/articles/5443114.html 一.Struts2原理 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计.在这儿MVC模式的好处就不在提了. 技术优势 Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The 

Struts2 原理

.Struts2原理 .Struts 1 原理 .Struts1 和webwork的关系 .HttpServletRequest Struts2原理 客户端提起一个(HttpServletRequest)请求,如上文在浏览器中输入”http://localhost:8080/TestMvc/add.action”就是提起一个(HttpServletRequest)请求. 请求被提交到一系列(主要是三层)的过滤器(Filter),如(ActionContextCleanUp.其他过滤器(SiteM

struts2原理剖析

在使用struts之前,我们必须了解servlet的运行,因为任何一个J2EE框架都是支持servlet的. 而servlet的执行过程,简单的说如下: 1.服务器接收请求 2.经过一个过滤器链对请求进行处理 3.调用serlvet的doget或dopost方法 4.过滤器链对应答进行处理 6.返回用户 而过滤器和servlet,我们都可以在web.xml中进行配置. 那么,现在主流的struts又是如何工作呢. 我们观察一下servlet的执行过程,我们会发现,我们可以补充的部分就是servl

struts2原理和入门程序

Struts2是一个MVC的Web应用框架,是在Struts1和WebWork发展起来的,以WebWork为核心,采取拦截器机制来处理用户请求. 原理图: 分析步骤: 1.用户发送一个请求 2.请求的目的肯定是去找Action,只是先经过一个过滤器 3.通过ActionMapper去查找Action 4.找到以后把请求委托给ActionProxy去处理 5.ActionProxy又通过ConfigurationManager去读取Struts.xml的配置文件 6.取到配置文件后,说明运行环境已

struts2原理理解

1.  由容器创建HttpServletRequest请求,这个请求经过一系列的过滤器,最终到struts2的核心过滤器(FilterDispatch), 2.  核心过滤器会根据url请求获得Action名称,核心过滤器根据Action名称去询问ActionMapper是否有此Action名称的配置,如果没有,会提示404错误,如果有 3.  核心过滤器会把Action的执行权限给到ActionProxy(Action代理),ActionProxy会去读取ActionConfiguration

springmvc 实现原理与struts2原理的区别

spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同. spring mvc是基于方法的设计,sturts2是基于类设计的. springmvc将url和controller方法映射.映射成功后springmvc生成一个Handler对象,对象中只包括了一个method.方法执行结束,形参数据销毁.springmvc的controller开发类似service开发.strts2每次请求都会实例一个action,每个action都会被注入属性.sp

Spring struts2 hibernate MyBatis SpringMVC 原理

Spring原理 最核心的就是IOC,动态注入DI,利用java里的反射,让一个对象的创建不用new了,可以自动的生产.Spring就是在运行时,跟xml Spring的配置文件来动态的创建对象,和调用对象里的方法的 .其实就是利用java里的反射,反射其实就是在运行时动态的去创建.调用对象. Spring还有一个核心就是AOP这个就是面向切面编程,可以为某一类对象 进行监督和控制(也就是 在调用这类对象的具体方法的前后去调用你指定的 模块)从而达到对一个模块扩充的功能.这些都是通过 配置类达到

Struts1.2,struts2.0原理分析

struts1原理: 1.首先我们表单提交到action 2.进入到web.xml 3.web.xml拦截*.do 4.交给ActionServlet 5.找到path属性,获得url 6.找到name实体类,封装from 7.找到type,type就是action地址 8.进入action 9.完成之后就foroword跳转 struts2原理: 1.表单提交action 2.web.xml拦截/* 3.进入FilterDispatcher 4.之后找到default.properties文件

SpringMVC和Struts2

SpringMVC原理: 1.发起前端请求到前端控制器(DispatcherServlet),前端请求,请求HandlerMapping查找Handler,可以通过xml配置/注解进行查找. 2.处理器映射器HandlerMapping向前端控制器(DispatcherServlet)返回Handler. 3.前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行Handler. 4.Handler执行完成返回ModelAndView, 处理器适配