作品简介

《Struts2技术内幕:深入解析Struts2架构设计与实现原理》由国内极为资深的Struts2技术专家(网名:downpour)亲自执笔,iteye兼CSDN产品总监范凯(网名:robbin)以及51CTO等技术社区鼎力推荐。《Struts2技术内幕:深入解析Struts2架构设计与实现原理》以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2的技术内幕提供了大量真知灼见。同样重要的是,《Struts2技术内幕:深入解析Struts2架构设计与实现原理》还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的要点和本质提供了绝佳的指导。

《Struts2技术内幕:深入解析Struts2架构设计与实现原理》主要分为3大部分,内容安排具有极强的逻辑推理性,章和章之间互相呼应且互为印证。知识准备篇首先介绍了获取、阅读和调试Struts2源代码的方法,以及Struts2源代码的组织形式;然后厘清了Web开发中极易混淆的一些重要概念,以及Struts2的核心技术、宏观视图、微观元素、配置元素等,提纲挈领地对Struts2进行了多角度的讲解。核心技术篇首先分析了Struts2中多种具有代表性的设计模式,然后对Struts2中的精华——OGNL表达式引擎和XWork框架的原理及机制进行了全面深入的分析和讲解。运行主线篇首先对Struts2的两大运行主线——初始化主线和HTTP请求处理主线进行了深入的剖析,然后对Struts2的扩展机制进行了解读和抽象。

海报:

陆舟(downpour)资深Java技术专家,1擅长企业级Java应用开发和JavacWeb应用开发,1对Struts、Spring和Seam等开源Java框架有十分深入的研究,1积累了丰富的经验.a在Java和Web开发社区非常活跃,1撰写了大量与JavaEE相关的技术文章,1其著名的“忘记李刚,1一步一步跟我学Struts2”系列技术文章广受好评,1在ITeye等技术社区留下了深远的影响.a此外,1他还是开源技术的积极倡导者和推动者,1参与过Spring中文文档重要章节的翻译,1为众多开源框架在国内的普及和发展做出了很大贡献.

作品目录

  • Struts2技术内幕:深入解析Struts架构设计与实现原理
  • 前言
  • 为什么写本书
  • 本书面向的读者
  • 本书的主要内容
  • 致谢
  • 第一部分 知识准备篇
  • 第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 策略(Strategy)模式
  • 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 小结
  • 后记
展开全部