首页技术struts2执行流程 servlet工作流程

struts2执行流程 servlet工作流程

编程之家2026-05-22994次浏览

大家好,struts2执行流程相信很多的网友都不是很明白,包括servlet工作流程也是一样,不过没有关系,接下来就来为大家分享关于struts2执行流程和servlet工作流程的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

struts2执行流程 servlet工作流程

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类

struts2执行流程 servlet工作流程

6、ActionProxy创建一个ActionInvocation的实例。

7、ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。

8、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。

在表示的过程中可以使用Struts2框架中继承的标签。在这个过程中需要涉及ActionMapper。

扩展资料:

应用流程注解

struts2执行流程 servlet工作流程

当Web容器收到请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括(ActionContextCleanUp)过滤器。

经过Other filters(SiteMesh,etc),需要调用FilterDispatcher核心控制器,然后它调用ActionMapper确定请求哪个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象。

FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager)从配置文件中读取配置信息(struts.xml),然后创建ActionInvocation对象。

ActionInvocation在调用Action之前会依次的调用所用配置拦截器(Interceptor N)一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)然后执行这个Result Result会调用一些模版(JSP)来呈现页面。

拦截器(Interceptor N)会再被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和核心控制器(FilterDispatcher)。

参考资料:百度百科-Struts 2

struts2的主要工作流程,处理方式

给LZ说一下struts2的主要工作流程吧,你可以下载一下他的流程图,首先我们有个请求request进入,会首先走ActionContextClearup清空值栈等,但是会留下我们的session和setgetAttribute等,然后会走一下OtherFilter,其他的一些过滤器什么的,然后就会走到我们的filterDispathcer总控,会询问ActionMapping是否此请求需要struts2处理,如果需要,走到ActionProxy代理类,其次,根据ConfigurationManger配置管理找到struts配置文件,然后才是走到真正需要做事的地方,ActionInvocation会依次走我们的拦截器,拦截器走的时候回去值栈中取值,就是通过taglib放到页面上去,走action再走对应result,最后生成相应返回回去。

给LZ两个图吧,第一个图是具体的点击新增按钮后的一系列处理,第二个图是详细的struts2的流程

帮我介绍下Struts 2的运行原理 下面附图 谢谢

struts2框架的执行流程:

1)用户发起请求(.action结尾的请求表示请求一个Action)

2)struts2框架的主控器(FilterDispatcher)接收用户发起的请求,

然后判断这个请求交给Action处理还是交给web组件处理.

如果请求的Action或者web组件不存在,那么出现404错误.在整个处理

过程中需要一个辅助对象:Action映射器(ActionMapper).

3)第二步判断的结果是交给Action处理,并且存在对应的Action.

那么根据struts.xml文件中对此Action的配置信息,首先执行拦截

此Action的所有拦截器,然后再执行请求的Action对象.在这个处理

过程中需要辅助对象:Action代理(ActionProxy)、配置管理器(ConfigurationManager)、ActionInvocation.

4)Action执行完毕之后返回一个结果(此结果用字符串表示),这个结果

经过拦截Action的所有拦截器之后,返回给主控器.主控器根据此结果

从配置文件中找到真正的路径,然后将请求转发给对应的视图.

5)由视图向客户端作出响应

关于本次struts2执行流程和servlet工作流程的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

数据库设计的基本原则是(数据库设计过程不包括什么设计)python编程?什么是python编程