首页技术struts2教程详解 servlet教程

struts2教程详解 servlet教程

编程之家2026-06-281182次浏览

大家好,如果您还对struts2教程详解不太了解,没有关系,今天就由本站为大家分享struts2教程详解的知识,包括servlet教程的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

struts2教程详解 servlet教程

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

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

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

Struts2的详细工作原理

Struts2工作流程:

1.客户端(Client)向Action发用一个请求(Request)

2.Container通过web.xml映射请求,并获得控制器(Controller)的名字

3.容器(Container)调用控制器(StrutsPrepareAndExecuteFilter或FilterDispatcher)。在Struts2.1以前调用FilterDispatcher,Struts2.1以后调用StrutsPrepareAndExecuteFilter

struts2教程详解 servlet教程

4.控制器(Controller)通过ActionMapper获得Action的信息

5.控制器(Controller)调用ActionProxy

6.ActionProxy读取struts.xml文件获取action和interceptor stack的信息。

7.ActionProxy把request请求传递给ActionInvocation

8.ActionInvocation依次调用action和interceptor

9.根据action的配置信息,产生result

struts2教程详解 servlet教程

10.Result信息返回给ActionInvocation

11.产生一个HttpServletResponse响应

12.产生的响应行为发送给客服端。

简述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,所有的对象(Action,Results,Interceptors,等)都是通过ObjectFactory来创建。

文章到此结束,如果本次分享的struts2教程详解和servlet教程的问题解决了您的问题,那么我们由衷的感到高兴!

fread函数的用法c语言,c语言strcmp的用法数据挖掘应用20个案例分析?数据挖掘案例分析