struts2工作流程
来源:互联网 发布:ubuntu win7双系统 编辑:程序博客网 时间:2024/05/16 01:33
1.客户端发出一个HttpServletRequest请求,这个请求经过一系列的过滤器Filter(如ActionContextCleanUp等),这些过滤器最终会调用FilterDispatcher类(现在是StrutsPrepareExcuteFilter)的serviceAction方法,FilterDispatcher是控制器的核心,就是MVC的struts2实现中控制层的核心
2.FilterDispatcher有时询问ActIonMapper(访问静态文件时)是否需要调用某个Action来处理这个HttpServletRequest请求,如果ActionMapper决定需要调用某个Action,则FilterDispatcher会创建一个ActionPoxy,并调用其execute方法
3.ActionProxy通过Configuration Manager(struts.xml)询问框架的配置文件,找到需要调用的Action类
4.ActionProxy类中拥有一个ActionInvocation实例,调用其invoke方法,在调用invoke方法之前,会根据配置加载Action相关的所有拦截器Interceptor,调用invoke方法过程是顺序调用所有的拦截器的intercept方法,最后调用Action类中的方法(其中,拦截器的intercept方法中又会调用ActionInvacation的invoke方法)
5.一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到相应的返回结果result
6.最后通过HttpServletResponse返回客户端一个响应
需要注意的是:
1、调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用
2、Struts 2的核心控制器是FilterDispatcher,有3个重要的方法:destroy()、doFilter()和Init(),可以在Struts 2的下载文件夹中找到源代码,执行顺序是:init()---->doFilter()-------->destroy()
- struts2工作流程
- struts2工作流程
- Struts2的工作流程
- Struts2工作流程
- Struts2工作流程
- Struts2工作流程
- Struts2详细工作流程
- struts2工作流程
- Struts2工作流程
- struts2工作流程
- struts2工作流程
- Struts2工作流程理解
- Struts2工作流程
- 浅谈struts2工作流程
- Struts2的工作流程
- struts2工作流程
- struts2 的工作流程
- struts2工作流程
- 22.Scala中的闭包实战详解
- 结果页面的配置
- android双击事件
- 近5年133个Java面试问题列表
- shell 脚本字符串操作
- struts2工作流程
- [HDU 1160 ] FatMouse's Speed [LIS 原理+ 路径输出]
- 【矩阵快速幂】LightOJ_1070_Algebraic Problem
- hibernate的五大核心(类/接口)简述
- 解决macbook pro开启parallels desktop虚拟机之后切换为独立显卡温度高的问题
- 观察者模式
- 微信小程序代理
- js系列教程6-BOM操作全解
- 文件和目录操作命令 find mkdir mv