Struts2工作原理
2016-03-21 20:51
369 查看
Struts2请求响应流程:
在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller、ActionProxy、ActionMapping、Configuration Manager、ActionInvocation、Inerceptor、Action、Result等。下面我们来具体看看这些组件有什么联系,它们之间是怎样在一起工作的。
(1) 客户端(Client)向Action发用一个请求(Request)
(2) Container通过web.xml映射请求,并获得控制器(Controller)的名字
(3) 容器(Container)调用控制器(StrutsPrepareAndExecuteFilter或FilterDispatcher)。在Struts2.1以前调用FilterDispatcher,Struts2.1以后调用StrutsPrepareAndExecuteFilter
(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
(10) Result信息返回给ActionInvocation
(11) 产生一个HttpServletResponse响应
(12) 产生的响应行为发送给客服端。
相关文章推荐
- struts2的核心和工作原理
- 蓝桥杯JAVA Fibonacci数列
- java语言程序设计第十版(Introduce to java 10th) 课后习题 chapter6-29
- java基本知识点
- Java之HashMap在多线程情况下导致死循环的问题
- Java 进阶 之 检查型异常与非检查型异常
- java语言程序设计第十版(Introduce to java 10th) 课后习题 chapter6-28
- Java核心知识点-Java编译原理
- 【转载】Eclipse the user operation is waiting for "buiding workspace" to complete
- java第十三节-集合框架概况
- Java集合源码学习笔记(五)ArrayList,LinkedList,Vector和Hashtable,HashMap的比较
- Spring框架中的定时器 如何使用和配置
- java 编程思想 第五章 初始化与清理
- spring lazy-init和 prototype
- java 构造器内部的多态方法和行为
- java编程思想-接口
- java编程思想-持有对象
- java语言程序设计第十版(Introduce to java 10th) 课后习题 chapter6-27
- java socket报文通信(三)java对象和xml格式文件的相互转换
- (Leetcode 82) Remove Duplicates from Sorted List II (Java)