Struts2执行流程

StrutsPrepareAndExecuteFilter是struts2框架的核心控制器,它负责拦截所有的用户请求,当用户请求到达时,该Filter会过滤用户请求,如果用户请求以action结尾,该请求就会被转入struts2框架来处理。

1) 客户端发起一个请求(*.action)

2) 主控器StrutsPrepareAndExecuteFilter拦截请求

3) 主控器通过ActionMapper判断请求是否交给action处理.如果是,那么判断请求的action是否存在,如果不存在,报404错误.如果不是交给action处理,那么将请求转发给对应的web组件.

4) 主控器创建ActionProxy,这个对象全权负责action的执行.

5) ActionProxy通过ConfigurationManager对象获得当前访问的action的相关配置信息.

6) ActionProxy根据获得的action的配置信息,创建ActionInvocation对象.

7) ActionInvocation对象负责执行action前面的拦截器以及action对象,并且处理action执行后的结果.

8) action前面的拦截器被执行,最后执行action.(Struts2,多实例单线程)

9) ActionInvocation得到action执行后的逻辑视图,根据逻辑视图找到物理视图, 然后转发请求.

客户端发起一个请求(*.action或无结尾),经过web.xml过滤器,走StrutsPrepareAndExecuteFilter核心控制器,进入struts2一系列的拦截器Interceptor (实现代码功能),根据struts-default.xml加载拦截器,通过action的名称来分发请求到对应的action类,执行action类的execute方法,通过execute方法中返回的字符串,在struts.xml中找到对应的结果页面(result)[在action执行之前,执行了defaultStack拦截器栈(在sruts2-core-xxx.jar目录下的struts-default.xml中定义]。

时间: 2024-12-29 11:15:03

Struts2执行流程的相关文章

struts2执行流程与拦截器介绍

struts2执行流程介绍 1.客户端向Servlet容器(如Tomcat)提交一个请求 2.请求经过一系列过滤器(如ActionContextCleanUp过滤器等) 3.核心控制器被调用,询问ActionMapper来决定请求是否需要调用某个Action 4.如果ActionMapper决定需要调用某个Action,核心控制器把控制权委派给ActionProxy (备注:JSP请求无需调用Action) 5.ActionProxy通过Configuration Manager询问框架的配置文

struts2 之 【struts2简介,struts2开发步骤,struts2详细配置,struts2执行流程】

入门框架学习避免不了的问题: 1. 什么是框架? 简单的说,框架就是模板,模子,模型.就是一个可重用的半成品. 2. 如何学习框架? 学习框架其实就是学习规则,使用框架就是遵循框架的规则,框架是可变的 和 不可变的部分组成,学习框架就需要把 什么可变什么不可变搞清楚. 3. 为什么使用 struts2 框架:聊这个问题先来聊一聊 Web的开发模式, model1 和 model2 模式. 4. model1模式:jsp+javaBean开发. 优点:执行效率高,代码比较少,开发效率比较高.适合小

struts2 执行流程及工作原理

在Struts2框架中的处理大概分为以下的步骤  1 用户发送请求: 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action : 4  如果需要处理,ActionMapper会通知Fil

struts2执行流程核心

原文地址:https://www.cnblogs.com/xyhero/p/9348748.html

走进Struts2(一) — Struts2的执行流程及其工作原理

 Struts2是一套很优秀的Web应用框架,实现优雅.功能强大.使用简洁.能够说是Struts2是一款很成熟的MVC架构. 在我们学习Struts2时,最好是先学习它的执行流程.核心概念.从中得到启示.提升自己,而不不过学习怎么怎么使用它. 在网上看到这样一句话: 你千万不要成为一个仅仅会熟练使用框架的程序猿.那样.你会疲于奔命,你或许永远仅仅会使用 Hadoop ,而写不出一个 Hadoop ,你仅仅是一个 Hadoop程序猿,而不是一个分布式project师. 你或许永远仅仅会使用 Str

Struts2框架的执行流程

一.执行流程介绍 1.通过浏览器发送一个请求 2.会被StrutsPrepareAndExecuteFilter拦截(struts2的拦截器作用) 3.会调用strust2框架默认的拦截器(interceptor)完成部分功能 4.在执行Action中操作 5.根据Action中方法的执行结果来选择来跳转页面Result视图 一般我们将StrutsPrepareAndExecuteFilter 叫做前端控制器(核心控制器),只有在web.xml文件中配置了这个filter我们的strtus2框架

图文解析Struts2框架执行流程

struts的架构图 (1)提交请求 客户端通过HttpServletRequest向servlet容器(即tomcat)提交一个请求. 请求经过一系列的过滤器,例如图中的ActionContextCleanUp和Other filter(SlterMesh,etc)等,最后被struts的核心过滤器FilterDispatcher控制到. 注:核心控制器2.1.3版本之后,struts的filterDispatcher核心控制器变成了StrutsPrepareAndExecuteFilte,如

Servlet、Struts2、SpringMVC执行流程

Servlet 有以下四个阶段: 1.加载和实例化 Servlet容器负责加载和实例化Servlet. 当Servlet容器启动时,或者在容器检测到需要这个Servlet来响应第一个请求时,创建Servlet实例. 当Servlet容器启动后,它必须要知道所需的Servlet类在什么位置,Servlet容器可以从本地文件系统.远程文件系统或者其他的网络服务中通过类加载器加载Servlet类,成功加载后,容器创建Servlet的实例. 因为容器是通过Java的反射API来创建 Servlet实例,

struts2的执行流程与配置详解

本章主要讲解Struts的执行流程以及Struts的配置以及访问servletApi 全部代码下载: github链接:链接 写文章不易,欢迎大家采我的文章,以及给出有用的评论,当然大家也可以关注一下我的github:多谢: 1.Struts的执行流程: 1.服务器启动时: 加载项目web.xml 创建Struts核心过滤器对象, 执行StrutsPrepareAndExecuteFilter的doFilter 的 init()方法: 在StrutsPrepareAndExecuteFilter