Struts2技术内幕

出版时间:2012-1  出版社:机械工业出版社  作者:陆舟  
Tag标签:无  

前言

  为什么写本书  在基于Java的Web开发领域,Apache旗下的Struts无疑具有非常重要的地位。从历史上看,Struts是出现较早的Web层解决方案,它借助Apache的影响力积累了大量的客户群体。在之后的岁月中,Struts吸收合并了另外一个开源社区的精品Webwork2成为Struts2,借助Webwork2先进的设计理念和优雅的实现及原先Struts社区积累的人气,打造成新一代的Web开发解决方案。  无疑,Struts2赢得了众多开发者的认同,也赢得了市场。目前,Struts2已经成为Web开发解决方案的一股重要力量,并拥有庞大的开发者社群。  对开发者来说,随着Web开发技术的不断革新,往往都需要一个优秀的框架作为程序开发的骨架,并在这个基础上完成Web层所赋予的任务。而Struts2,向我们提供了一个完整的Web层设计和开发的思路,为我们展示了许多Web层设计和开发的最佳实践。可以说,使用Struts2作为解决方案,已经成为绝大多数Web开发者的首选。  Struts2的源码中,不仅包含了优秀的Web层设计理念,而且蕴含了许多编程技巧和设计模式。通过本书,读者可以加深对Web开发职责的理解,从而提高自己的开发水平,拓展自己的技术视野。除此之外,本书所介绍的一些哲学观点,相信也能成为读者重新思考Web开发的重要借鉴。  本书面向的读者  1.学习 Java语言和Java EE技术的中高级读者  对这部分读者来说,Struts2和XWork的核心设计思想以及建立在此基础之上的源代码,是极佳的学习Java和Java EE技术的参考资料。  2.Struts2的研究和开发人员  对这部分读者来说,本书的内容能够帮助他们加深对Struts2和XWork设计原理的哲学理解,并成为他们定制和扩展Struts2框架的宝贵参考资料。  3.开源软件爱好者  在本书中,我们不仅提供了Struts2的学习方法,还向大家介绍了一整套完整的开源软件的学习方法,可以帮助这部分读者提高使用开源软件的效率和质量。  4.平台开发人员和架构师  Struts2蕴含的深刻的软件设计理念,可以提高这部分读者对软件架构的认识和设计能力。

内容概要

  本书由国内极为资深的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的扩展机制进行了解读和抽象。

作者简介

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

书籍目录

前言
第一部分 知识准备篇
 第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 小结
后记

章节摘录

版权页:插图:

媒体关注与评论

Struts2是一个高度成熟的Web开发框架,无论是稳定性还是可靠性都经过了市场的经验,几乎已成为Web开发领域的事实标准。Struts2框架本身的使用并不难,难的是通过理解它的实现原理来更好地指导基于框架的Web应用开发。本书以Struts2的源代码为依托,以分析它的架构设计与实现原理为手段,深刻揭示了Struts2框架背后的设计哲学和Web层的设计理念思想。不仅能从宏观和微观上帮助读者透彻认识Struts2框架的实现原理和实现细节,而且能更好地利用Struts2进行Web应用开发。强烈推荐!  ——51CTO(中国领先的IT技术社区)目前主流的Web开发框架是Struts2和SpringMVC,相比较而言,我个人比较偏爱Struts2。基于Webwork内核的Struts2最早是由天才程序员Richard Oberg开发的,Richard也是JBoss的首任架构师,AOP领域的开拓者之一。Struts2的核心框架Xwork本身是一个非常精致小巧的IoC容器,其AOP的实现方式也有众多精巧之处值得细细品味。本书作者陆舟是ITeye(原JavaEye)的资深会员之一,在Java Web开发版块非常活跃,是我所知道的国内对Struts2掌握程度非常深入的几个人之一。尤为难得的是,他写技术文章的逻辑性极强,对Struts2的整个架构和体系的介绍可谓有条不紊,滴水不漏。我个人特别喜欢本书对XWork框架和OGNL表达式语言浓墨重彩的剖析,因为XWork和OGNL是Struts2最为精华的部分,也是很多人掌握不好的地方。对于希望全面和深入掌握Struts2的朋友,我强烈推荐这本书。  ——范凯(Robbin) ITEye创始人/CSDN产品总监Spring、Struts和Hibernate这三大框架是从事企业级Java应用开发的程序员必须掌握的。一名合格的Java程序员要能够掌握框架的功能、配置与使用,优秀的Java程序员能要够理解框架的设计思想和实现原理。本书通过源代码深入分析了Struts2框架的实现原理,不仅能让读者知其然,还能让读者知其所以然,是Java程序员从合格走向优秀的一本不可多得的参考书。  ——周志明(IcyFenix) 资深Java技术专家/畅销书《深入理解Java虚拟机:JVM高级特性与最佳实践》作者

编辑推荐

《Struts2技术内幕:深入解析Struts2架构设计与实现原理》编辑推荐:透过源代码对Struts2的架构设计、实现原理和设计哲学进行了全面而透彻的剖析,从Struts2的源代码中提炼出优秀Web层的设计理念和最佳实践,深入分析源代码,中蕴含的大量编程技巧和设计模式。自从2005年Apache宣布将原Strutsl社区与Webwork社区进行整合并着力打造新一代的MVC框架Struts2开始,Struts2就凭借来自于Webwork的独特技术优势和Apache强大的社区力量迅速成为整个Web开发领域最流行的开发框架。Struts2及其核心依赖XWork的设计思想独树一帜,提供了一系列具有革命性意义的Web开发解决方案。XWork小巧的容器结构、对于命令模式独特的实现机制、插件扩展模型的设计以及Struts2对于Web请求的处理方式,对所有的Web开发都有特别的指导意义。在《Struts2技术内幕:深入解析Struts2架构设计与实现原理》中,我们将Struts2的源码分析作为贯穿整《Struts2技术内幕:深入解析Struts2架构设计与实现原理》的逻辑主线,其主要目的不仅仅是为了向读者展示Struts2的设计原理和设计思想,更为重要的是希望通过Struts2的源码总结出Web开发中的最佳实践。因此,《Struts2技术内幕:深入解析Struts2架构设计与实现原理》使用了大量的篇幅为读者撇清众多Web开发中极易混淆的概念,并以源码为基础将这些概念与Web开发的方法论结合在一起。相信对于想深入了解Struts2实现内幕和Web开发细节的广大程序员有极佳的指导和借鉴作用。

图书封面

图书标签Tags

评论、评分、阅读与下载


    Struts2技术内幕 PDF格式下载


用户评论 (总计112条)

 
 

  •   学习java,读一些常用框架的源码是个很少的方式,struts2源码值得一度
  •   描述了Struts2使用了哪些设计模式、容器的初始化、对象的注入、上下文的维护和OGNL的使用等。很好的一本书。
  •   对java开发来说struts内部流程必须懂.
  •   详细介绍了Struts2原理性知识,包括框架如何运行!
  •   Struts2技术内幕
  •   适合对struts2比较熟悉的朋友,用来学习编程思想。不能当工具书用
  •   这不书绝对非常不错。推荐想学好Struts2的人购买!经典值得学习、、、
  •   这本书应该算是Struts2中最好的一本了
  •   了解Struts2
  •   java开发必读,通俗易懂,见解精辟,
  •   内容一般般。作为IT人员,去看源代码,比看书更好!
  •   这本是适合有开发经验的老手阅读,很深入,很详细。让我意犹未尽。
  •   技术内幕,很好
  •   写得比较深入,值得学习,有一两章不好理解,需要多研究几遍
  •   内容不错,适合大家深入的学习,讲解也比较循序渐进
  •   内容比较充实,有别于其它技术书籍,强烈推荐
  •   之前在书店把全书快速阅读了一遍,作者对所述技术的理解确实有一定的深度了。而且也不是空谈,理论与实践结合的很好。这次买回来继续精读。
  •   这本技术书实践过最好的可以喝head first拼一下
  •   前面模型讲得很好
    其他部分都不错,总之不是参考,是真正的架构级解读
  •   不当码农,就要懂其原理
  •   主流MVC框架,一定要学好
  •   这本书的作者讲了很多干货。都是自己的积累,言简意赅,一言中的!收获很大!
  •   感觉还是蛮贵的。。。。。书不错,值得买。
  •   几本书还不能一起写评论?
  •   慢慢研究一下,哈哈
  •   确实到啦,内容太短是吗,下次就不评论啦
  •   内容可以,不过就是有点少了
  •   拿到书了,书本身的内容相当不错,也很贴近实际,正是我所需要的。感谢当当!
  •   写得还是一般般,长篇大论,有比较多的废话
  •   仔细看能够让你思考比较多的问题
  •   正品,快速。
  •   看了几张,作者写作思路比较清晰
  •   夜里11点下单,上午10点就收到,太超出我的预期了。送货人服务特好,赞一下敬业精神,也赞一下配送速度
  •   开始学习咯~~~
  •   asdfasdfas
  •   买这书是因为出版的时间是2012年
  •   书到了,看了一段时间,还不错吧!
  •   挺好的,他正在看了,不过纸张不怎么样。
  •   静待到货。
  •   非常好,图书质量很好
  •   非常好的一般书
  •   讲解struts的原理很到位,很满意,很受启发。配合设计模式讲解struts原理,非常到位。
  •   看见网上评论说,这本书对深入了解STRUTS2有帮助,所以就买了,目前正在阅读。
  •   本书对Struts2作了深入的解析,读完这本书后可以成为高手
  •   是目前所看到的关于struts2,写得最好的一本书。作者功力非常高。适合有一定开发基础的人研读。
  •   看了一点了 先看spring再回头看struts
  •   剖析struts2,好书一本,适合用过struts2的人看,不是一本教你怎么用struts2的书
  •   不是面向STRUTS2的使用,而是提高编程艺术。
  •   介绍struts2的书不多,这本还不错,收获颇多
  •   书的内容确实讲的挺好,如果你用struts用的比较熟的话,看这本书会让你对里面的内容印象更深刻点。
  •   可以对struts细节有进一步的认识
  •   该书不但把技术性的东西和原理讲得比较深入和透彻,而且最可贵的是把很多作者的宝贵的经验和方法也奉送出来了,从字里行间就能看出作者的功底,不过一本好书,再怎么好,有些东西只可意会,不可言传,所以相信作者在写书时,也深有体会,所以我们拿到好书,不仅要多读,还要多实践和总结感悟,才能把作者书外之意,体会出来,真正融会贯通
  •   没细看,转行做java,这本书不适合入门,翻下还行
  •   相对其他技术内幕系列有点水,当小说一样看完。
  •   这本书挺好看的,挺满意的
    框架原理的解析挺好的
  •   深入剖析
  •   内容讲解不算通俗易懂,有些地方的讲解要花些时间去理解。作为深入理解的参考书还行吧。
  •   这本书深入源码级别,比较晦涩。
  •   这本书就非常深入了,不太适合刚刚入门的朋友。
  •   还行吧,如果再深入一些就更好了。
  •   感觉没有Spring的那本好,至少这本前面几十页感觉有点浪费纸张,没用
  •   讲解的比较透彻,书如其名。适合有一定基础的人
  •   拿到后翻看了下,还行吧
    真正核心的 还有待研究后才知道
  •   书的内容不错,阅读中 ...
  •   内容写的不错,但感觉内容少了点。
  •   印刷的不是太好,纸张质量一般,排版的也不太好.内容还没看
  •   之前是看的评论的,内容很好,但是单薄了一点。
  •   如题,擦,评论还有长度限制,做这功能的人脑子被门夹了吧
  •   也就只能这么说,是中规中矩的好,没有特色的好
  •   这是本好书,但是送货的速度有点满。上面是10号到,但是一直到11号晚上才到。
  •   书不错,坚持看下去啊
  •   边角有点小摩擦 其他都还好
  •   今天收到,看过原作者的博客应该不错吧
  •   好书,需要市场拿来看看
  •   细节可用
  •   不错的,讲了比较详细
  •   Struts2技术内幕,不错。
  •   如题,。
  •   书是好书,快递服务很生硬,服务水平和态度有待提高。
  •   书不错正在研读
  •   对于ognl和valueStack的论述,比较透彻,很可惜没有很好的与struts2结合起来,比如:valueStack里面存放的是什么东西?
    对于插件的介绍有点过于简略,能否加一些实用的例子。
    太多作者自己发明的“术语”。
    作为一个开发人员,不仅关注原理是什么样的,更多的是关注如何应用。
  •   这书还行,不过前2章说的太基础。。。说实话前面看的很不带劲,不过后面说到很多原理性的东西还是不错的,可以对Struts2的实现核心有个很好的了解,总体来说还是不错的一本书~!
  •   我要看的是struts2的书,不是设计模式的书!!!
  •   写的还可以!但是有些东西写的太浅了!不过还是能学到东西的! struts2的设计模式能详细的写 的话比较好
  •   刚开始还以为是讲Struts2的一些应用的,没想到讲的是Struts2的架构上的知识,讲的内容不怎么样。
  •   struts2放在床头很久了,应该工作是不怎么用的到。看的动力小了不少。
  •   之前看过作者的博客,觉得写的很不错,就跟公司推荐买了这本书;阅读过后,觉得和想象的还是有别,铺垫太多;之前看过一本讲原理的书:how tomcat work(英文版的),觉得这本书的写法很不错,值得借鉴(仅仅个人认为);作者的技术很好,希望能很好的share出来,推动开源事业在国内的进步发展;希望作者下一版的书更好。
  •   不是想象中得那样,一般
  •   书的235-236居然是空白的236页居然只有右上角有些字体,这两页像是被什么东西遮挡了,没印到,后面遮挡物拿掉了,这两页空白了
  •   书的纸质量一般,内容还算可以,就是有些乱
  •   需要有一定的基础,再读理解就比较好了
  •   还没有看完呢 慢慢看
  •   写的比较深
    新手不容易看懂
  •   印刷质量不太好,用手一抹字就模糊了
  •   书确实是好书,作者功底很深。但这本书不是每个人都适用的。本书侧重原理和源码的剖析。对于需要深入struts2源码的读者来说很受用。但是对于要学习struts2如何使用的读者来说并不适用。看了之后很受用,谢谢作者的努力。
  •   之前已经买了纸质书,我买了以后扫描了电子版放在 iPad 里,现在出了Kindle版,真好,可见作者还是在乎这本书的。
  •   书不错,建议千万不要在这买,看封皮就像是二手的,后面还有划痕!!!!!!
  •   内容还可以,比较基础,容易入门,不过就是书比较薄,欠深入
  •   好书,语言总结的到位,易懂
  •   印刷质量还行这本书适合已经初步了解了struct的人用
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7