Struts深入剖析
来源:互联网 发布:推荐几家淘宝高仿鞋店 编辑:程序博客网 时间:2024/05/19 18:46
- Struts2和XWork的关系
(2)XWork是一个命令模式框架,它是Struts2的基础。
(3)XWork提供了很多核心功能:
a,IoC(Inversion of control,控制反转)容器,
b,强大的表达式语言 (OGNL:Object Graph Navigation Language-----对象图像导航语言)
c,数据类型转换,
d,验证和可插入的配置。
(4)XWork框架的核心概念包括action,拦截器(inerceptor)和result.
- Struts2拦截器工作原理
- Struts2与XWork2之间的交互图
(1)一个HTTP请求到达Struts2的FilterDispatcher之后,就会被转换成一个action command.
(2)这个action command在穿越了一系列Struts2和XWork的拦截器(1~3)之后,最后执行用户编写的Action实例。
(3)在Action执行后,响应还会穿越相同的拦截器,按照与请求相反的顺序即拦截器(3~1).
(4)最后通过Struts2的HttpServletResponse转换成Web可识别的响应,如JSP。
- Struts2的数据流图
(1)当接收到一个HttpRequest,Interceptor做一些拦截或者初始的工作;
(2)当外部的HttpServletRequest到来时,初始到了Servlet容器传递给一个标准的过滤器链;ActionContextCleanUp这个在集成插件方面非常有用。Other filters(SitMesh,etc)
(3)调用FilterDispatecher会去查找相应的ActionMapper;
(4)如果找到了相应的ActionMapper它将会将控制权限交给ActionProxy,ActionProxy将会通过ConfigurationManager来查找配置struts.xml;
(5)下一步将会通过ActionInvocation来负责命令模式的实现(包括调用一些拦截器Interceptor框架,在调用action之前),一旦action返回,会查找相应的Result,Result类型可以是JSP或者FreeMark等;
(6)这些组件和ActionMapper一起返回给请求的url(注意拦截器的执行顺序),响应的返回是通过我们在web.xml中配置的过滤器;
(7)如果ActionContextCleanUp是当前使用的,则FilterDispatecher将不会清理threadLocal ActionContext;
(8)如果ActionContextCleanUp不使用,则将会去清理threadlocal。
- 接收用户数据问题
(3)Struts2提供了多种方式用于接收用户输入的数据。
(4)Struts2的action完全与Web解耦,要获取Web层的数据,需要使用ActionContext,它为action提供了一个执行上下文。
- 访问request,session,application对象
- Struts深入剖析
- 深入剖析Struts框架原理
- struts第四篇:深入struts源码,剖析内部流程
- 深入Struts
- 深入Struts
- 深入Struts
- 剖析Struts中的FormTag
- Struts优缺点剖析
- 剖析Struts中的FormTag
- 详细剖析struts(转)
- Struts优缺点剖析
- Struts体系结构剖析
- 3.struts架构剖析
- 通用ShellCode深入剖析
- 通用ShellCode深入剖析
- 色调曲线深入剖析
- 通用ShellCode深入剖析
- 深入剖析IIS 6.0
- Markdown 语法
- Linux多线程同步的几种方式
- LeetCode 88 Merge Two Sorted Lists
- 深入理解Http协议
- 王立平--android中遍历一个文件夹下的所有文件
- Struts深入剖析
- 【基础训练】HDOJ2031进制转换
- git clone 命令参数:
- VS,无法启动指定的程序,系统找不到指定的文件
- ORACLE异常处理
- jquery mobile 动态插入元素的正确渲染方法
- java 读取properties 中文乱码
- 在奋斗的日子里,傻笑出来(三)
- cocos2dx 3.3 魂斗罗初步尝试 欢迎场景和声音类