Struts2 运行流程分析之doFilter
注意: 本文基于Struts2.2.1版本进行的代码分析
首先先大致看一下StrutsPrepareAndExecuteFilter.java的doFilter的实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) res; try { // 设置request/response编码 prepare.
Struts2 运行流程分析之Dispatcher初始化
Dispatcher 初始化 Disptcher的初始化方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 public class Dispatcher { // 核心初始化方法 public void init() { if (configurationManager == null) { configurationManager = new ConfigurationManager(BeanSelectionProvider.
XWork框架的元素详解
0x01 构成XWork数据流体系的两大元素之间有什么样的关系 ? ActionContext 和 ValueStack之间是从属关系, ValueStack是ActionContext的一个组成部分. 实现代码:
深入XWork设计原理
0x01 基于人机交互的请求响应模式主要由哪三大要素构成 ? 沟通协议 请求内容 相应内容 0x02 在Java语言中 ,有哪三种主要的请求响应的实现模式 ? 参数-返回(Param-Return)模式.
XWork框架中的容器设计
“容器”是用来解决:“在程序的运行期,应该如何创建我们需要的对象?” 和 “当创建新对象,该对象依赖的对象也能正确被创建出来?”
对象的生命周期管理包含哪两个方面的内容 ? 在程序运行期,对象实例的创建和引用机制. 对象与其关联的对象的依赖关系的处理机制.
深入理解OGNL
OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。
0x01 为什么要引入表达式引擎 ?表达式引擎在Web开发中有什么重要作用 ? 同一个对象 ,在 “弱类型 ”的平台和一个 “强类型 ”的平台之间交互 ,就必须有一个非常重要的 “翻译 ”角色解决这种 “不匹配 ” 。这个角色 ,就是我们所说的表达式引擎 ,它充当着桥梁作用 ,保证数据能够顺利地在MVC的各个层次进行流转 。 0x02 一个合格的表达式语言应该具备什么? 能够处理表达式与对象之间的映射关系,并且这种关系是双向的。 能够支持丰富多样的表达式语法计算。 能够支持必要的数据类型转换.
Struts2框架源码分析:概况
Struts2和Struts1.x有什么区别? 他们各自发展轨迹又如何? Struts1是Apache社区在2000年3月31号发布的一款javaweb框架. 随着时代进步,Struts1的不足显而易见,此时Opensymphony开源了一款优秀的web框架,名为Webwork2. Apache社区在2005年12月14日宣布Struts项目和Webwork2项目合并,推出名为Struts2的Web框架. Strus2框架开始进入辉煌时代. Struts2依赖于那些核心技术? 表示层技术, Struts2表示层主要是整合, 如整合Freemarker或Velocity为核心的模板技术、构建Flash应用的Flex技术、ajax技术等,以plugin形式进行整合.