资源名称:Struts2技术内幕:深入解析Struts架构设计与实现原理
内容简介:
本书由国内极为资深的Struts2技术专家(网名:downpour)亲自执笔,iteye兼CSDN产品总监范凯(网名:robbin)以及51CTO等技术社区鼎力推荐。
本书以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2的技术内幕提供了大量真知灼见。同样重要的是,本书还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的要点和本质提供了绝佳的指导。
本书主要分为3大部分,内容安排具有极强的逻辑推理性,章和章之间互相呼应且互为印证。知识准备篇首先介绍了获取、阅读和调试Struts2源代码的方法,以及Struts2源代码的组织形式;然后厘清了Web开发中极易混淆的一些重要概念,以及Struts2的核心技术、宏观视图、微观元素、配置元素等,提纲挈领地对Struts2进行了多角度的讲解。核心技术篇首先分析了Struts2中多种具有代表性的设计模式,然后对Struts2中的精华——OGNL表达式引擎和XWork框架的原理及机制进行了全面深入的分析和讲解。运行主线篇首先对Struts2的两大运行主线——初始化主线和HTTP请求处理主线进行了深入的剖析,然后对Struts2的扩展机制进行了解读和抽象。
资源目录:
前言
第一部分 知识准备篇
第1章 厉兵秣马——开发环境准备
1.1 准备源代码阅读环境
1.1.1 安装与配置JDK
1.1.2 安装Eclipse与源码调试
1.1.3 安装与配置Web服务器
1.1.4 在Eclipse中使用Jetty搭建Web开发环境
1.2 获取Struts2
1.2.1 Struts2的相关资源下载
1.2.2 Struts2项目的目录组织结构
1.3 Struts2源码的初步研究
1.3.1 源码的组织形式
1.3.2 调试Struts2源码
1.4 小结
第2章 固本清源——Web开发浅谈
2.1 面向对象浅谈
2.1.1 对象构成模型
2.1.2 对象关系模型
2.1.3 面向对象编程的基本观点
2.2 框架的本质
2.3 最佳实践
2.4 Web开发的基本模式
2.4.1 分层开发模式
2.4.2 MVC模式
2.5 表示层的困惑
2.6 如何学习开源框架
2.7 小结
第3章 提纲挈领——Struts2概览
3.1 Struts2的来世今生
3.2 Struts2面面观
3.2.1 Struts2的运行环境
3.2.2 Struts2的应用场景
3.2.3 Struts2的核心技术
3.3 多视角透析Struts2
3.3.1 透视镜——Struts2的宏观视图
3.3.2 显微镜——Struts2的微观元素
3.4 Struts2的配置元素
3.4.1 Struts2配置详解
3.4.2 Struts2配置元素定义
3.4.3 Struts2配置元素的分类
3.5 小结
第二部分 核心技术篇
第4章 源头活水——Struts2中的设计模式
4.1 ThreadLocal模式
4.1.1 线程安全问题的由来
4.1.2 ThreadLocal模式的实现机理
4.1.3 ThreadLocal模式的应用场景
4.1.4 ThreadLocal模式的核心元素
4.2 装饰(Decorator)模式
4.2.1 装饰模式的定义
4.2.2 装饰模式的构成要素
4.2.3 装饰模式的应用案例
4.3 策略(Strategry)模式
4.3.1 策略模式的定义
4.3.2 策略模式的应用场景
4.3.3 策略模式的深入思考
4.4 构造(Builder)模式
4.4.1 构造模式的核心要素
4.4.2 构造模式的应用场景
4.4.3 对象构造步骤
4.5 责任链(Chain Of Responsibility)模式
4.5.1 责任链模式的定义
4.5.2 责任链模式的逻辑意义
4.6 小结
第5章 生命之源——XWork中的容器
5.1 容器,对象生命周期管理的基石
5.1.1 对象的生命周期管理
5.1.2 容器(Container)的引入
5.1.3 容器(Container),不是容器(Collection)
5.2 XWork容器概览
5.2.1 XWork容器的定义
5.2.2 XWork容器的管辖范围
5.2.3 XWork容器操作详解
5.3 深入浅出XWork容器
5.3.1 XWork容器的存储结构
5.3.2 XWork容器的实现机理
5.4 统一的容器操作接口——ObjectFactory
5.5 小结
第6章 灵丹妙药——OGNL,数据流转的催化剂
6.1 架起数据沟通的桥梁——表达式引擎
6.1.1 数据流转的困境
6.1.2 数据访问的困境
6.1.3 表达式引擎
6.2 强大的OGNL
6.2.1 深入OGNL的API
6.2.2 OGNL三要素
6.2.3 OGNL的基本操作
6.2.4 深入this指针
6.2.5 有关#符号的三种用途
6.3 深入OGNL内部
6.3.1 深入OgnlContext
6.3.2 深入OGNL的计算规则
6.3.3 深入OGNL的扩展方式
6.4 小结
第7章 别具匠心——XWork设计原理
7.1 请求-响应的哲学
7.1.1 请求-响应的基本概念
7.1.2 请求-响应的实现模式
7.1.3 分歧和职责
7.2 数据流和控制流
7.2.1 再谈MVC
7.2.2 数据载体的战争
7.2.3 控制流的细节
7.3 XWork概览
7.3.1 XWork的宏观视图
7.3.2 XWork的微观视图
7.4 小结
第8章 庖丁解牛——XWork元素详解
8.1 深入XWork宏观视图
8.1.1 数据流体系
8.1.2 控制流体系
8.2 数据流体系——相互依存
8.2.1 ActionContext——一个平行世界
8.2.2 ValueStack——对OGNL的扩展
8.2.3 深入ValueStack的实现
8.2.4 形影不离、相互依存的Actioncontext与ValueStack
8.3 控制流体系——有条不紊
8.3.1 Action——革命性突破
8.3.2 Interceptor——腾飞的翅膀
8.3.3 ActionInvocation——核心调度
8.3.4 ActionProxy——执行窗口
8.4 交互体系——水乳交融
8.4.1 数据环境的生命周期
8.4.2 三军会师之地
8.4.3 Action交互体系
8.5 小结
第三部分 运行主线篇
第9章 包罗万象——Struts2初始化主线
9.1 配置元素与初始化主线
9.1.1 从入口程序开始
9.1.2 初始化主线的核心驱动力
9.1.3 初始化主线的构成元素
9.2 核心分发器——Dispatcher
9.2.1 核心分发器的核心驱动作用
9.2.2 核心分发器的数据结构
9.3 配置元素的加载器(Provider)
9.3.1 配置元素加载器的作用
9.3.2 容器加载器——ContainerProvider
9.3.3 事件映射加载器——PackageProvider
9.4 配置元素的构造器(Builder)
9.4.1 容器构造器——ContainerBuilder
9.4.2 事件映射构造器——PackageConfig.Builder
9.5 配置元素的管理类
9.5.1 配置管理元素——Configuration
9.5.2 配置操作接口——ConfigurationManager
9.6 Struts2初始化主线详解
9.6.1 核心分发器的初始化
9.6.2 容器的初始化
9.7 小结
第10章 井然有序——与Http请求的战斗
10.1 制定作战计划
10.1.1 战斗资源
10.1.2 战斗进程
10.2 第一战场——Http请求的预处理阶段
10.2.1 三探入口程序
10.2.2 Http请求预处理类——PrepareOperations
10.2.3 Http请求的执行类——ExecuteOperations
10.3 第二战场——XWork处理阶段
10.3.1 执行控制权的移交
10.3.2 ActionInvocation调度的再分析
10.4 小结
第11章 展翅高飞——让视图放开手脚
11.1 视图(View)概述
11.1.1 视图表现技术
11.1.2 视图的本质
11.1.3 视图的职责
11.2 深入Result机制
11.2.1 Result的不同视角
11.2.2 Result职责分析
11.3 标签库,永恒的争论话题
11.3.1 标签库产生的初衷
11.3.2 标签库,毒药还是解药
11.3.3 标签库的发展趋势
11.3.4 标签的分类
11.4 数据访问的哲学
11.4.1 不要问我从哪里来
11.4.2 不要问我长什么样
11.5 小结
第12章 三头六臂——Struts2的扩展机制
12.1 程序扩展机制的深入思考
12.1.1 插件模式的基本概念
12.1.2 常见的插件模式
12.1.3 插件模式的利弊分析
12.2 Struts2的插件模式
12.2.1 深入Struts2插件
12.2.2 Struts2插件分类
12.2.3 Struts2的插件加载机制
12.3 小结
后记
资源截图:
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
源码资源库 » Struts2技术内幕:深入解析Struts架构设计与实现原理