博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2 的工作原理
阅读量:5066 次
发布时间:2019-06-12

本文共 1189 字,大约阅读时间需要 3 分钟。

Struts2 的工作原理:			1)client向server发出一个http请求。webserver对请求进行解析,假设在StrutsPrepareAndExecuteFilter的请求映射路径(在web.xml中配置)中匹配到了该请求,那么webserver就会把该请求转发给DispatcherServleStrutsPrepareAndExecuteFilter进行处理。	2)StrutsPrepareAndExecuteFilter推断该请求是否是一个Struts2请求。假设该请求是一个struts2请求,则StrutsPrepareAndExecuteFilter把请求交给ActionProxy处理。	3)ActionProxy创建一个ActionInvocation实例并初始化	4)ActionInvocation调用Action。在ActionInvocation调用Action的前后。涉及到拦截器的调用。	5)Action运行完成后,ActionInvocation会依据struts.xml配置文件调用相应方法并依据返回的结果来渲染相应的视图。

具体调用过程: 1,把Action请求发送给 StrutsPrepareAndExecuteFilter StrutsPrepareAndExecuteFilter.doFilter() --> ExecuteOperations.executeAction() --> Dispatcher.serviceAction() --> 2,StrutsPrepareAndExecuteFilter把请求的处理交给 ActionProxy ActionProxy.execute() --> 3,ActionProxy 创建一个 ActionInvocation 的实例,并进行初始化。ActionInvocation 实例在调用 Action 的过程前后,涉及到相关拦截器的调用和对Result的调用 ActionInvocation.invoke() --> Interceptor.intercept()、 ActionInvocation.invokeAction()、ActionInvocation.executeResult() --> 4。在 Action 运行完成后(ActionInvocation.invokeAction())。ActionInvocation 依据 struts.xml 中的配置找到相应的返回结果(ActionInvocation.executeResult()),并把结果(jsp页面)发送到client 下图为 struts2 处理请求的具体流程:

转载于:https://www.cnblogs.com/jzssuanfa/p/7105268.html

你可能感兴趣的文章
Python爬虫框架Scrapy安装使用步骤
查看>>
Anaconda 下libsvm的安装
查看>>
列表生成式
查看>>
SSM整合项目中使用百度Ueditor遇到的问题。
查看>>
复制文件
查看>>
作业调度模拟程序
查看>>
C++ inline
查看>>
SpringMVC中JSP取不到ModelAndView的数据原因
查看>>
cenos 安装 phpredis 扩展
查看>>
Yii2 的 redis 应用
查看>>
sqlplus登陆
查看>>
[翻译svg教程]svg中的circle元素
查看>>
HDU 1201 Fibonacci Again
查看>>
ASP.NET MVC视图和控制器之间的传值总结(一)
查看>>
敏捷与 DevOps:是敌是友?
查看>>
bzoj1588营业额统计
查看>>
概率与数学期望
查看>>
MySQL 5.1完全卸载
查看>>
优先队列:左式堆
查看>>
我的学习之路_第十六章_xml
查看>>