图灵程序设计丛书

Seam实战

Dan Allen (作者) 崔毅 , 杨春花 , 俞黎敏 (译者)
终止销售
  本书深入讲解了JBoss Seam,介绍了Seam 如何消除了不必要的层和配置,解决了JSF 最常见的难点,建立了JSF、EJB 3 和JavaBean 组件间缺少的链接。书中也介绍了如何利用Seam 进行技术综合,如业务过程、有状态的页面流、Ajax 远程处理、PDF 生成、异步任务等。
  本书适用于Java 程序员阅读。

输入优惠码:新春特急

电子书每单满200减80,可以用到除夕夜哦,祝大家happy hacking 一整年!

纸书停发:2月3日~26日

纸质书
¥89.00

其他购买方式?

出版信息

  • 书  名Seam实战
  • 系列书名图灵程序设计丛书
  • 执行编辑关于本书的内容有任何问题,请联系 傅志红
  • 出版日期2010-06-21
  • 书  号978-7-115-22464-4
  • 定  价89.00 元
  • 页  数508
  • 开  本16开
  • 出版状态终止销售
  • 原书名Seam in Action
  • 原书号1-933988-40-1

同系列书

  • HTTP权威指南

    David Gourley   Brian Totty   Marjorie Sayer   Sailu Reddy   Anshu Aggarwal   陈涓   赵振平   译

    本书是HTTP及其相关核心Web技术方面的权威著作,主要介绍了Web应用程序是如何工作的,核心的因特网协议如何...

  • JavaScript高级程序设计(第3版)

    Nicholas C.Zakas   李松峰   曹力   译

    本书是JavaScript超级畅销书的新版。ECMAScript 5 和HTML5在标准之争中双双胜出,使大量...

  • 计算机科学的基础

    Al Aho   Jeff Ullman   傅尔也   译

    本书全面而详细地阐述了计算机科学的理论基础,从抽象概念的机械化到各种数据模型的建立,用算法、数据抽象等核心思想...

  • Java技术手册(第6版)

    Benjamin J Evans   David Flanagan   安道   译

    通过学习本书,你将能够: 掌握最新的语言细节,包括Java 8的变化 使用基本的Java句法学习面向对...

  • 机器学习实战

    Peter Harrington   李锐   李鹏   曲亚东   王斌   译

    机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或...

本书特色

理论与实践的完美结合
详尽细致,涉及Seam框架的方方面面
亚马逊网店好评如潮

目录

第一部分 了解Seam
第1章 Seam使Java EE一体化    2
1.1 我该选用哪种框架    3
1.2 选择Seam    3
1.2.1 完整的应用程序栈    4
1.2.2 开发Seam的原因    4
1.2.3 “厂商垄断”传闻真相    5
1.2.4 Seam用例    6
1.3 Seam的统一方法    7
1.3.1 Seam整合了JSF、JPA和POJO
组件    7
1.3.2 上下文组件模型    9
1.4 牛刀小试    12
1.4.1 充当Backing Bean的实体类    12
1.4.2 全能的组件    13
1.4.3 将组件绑定到视图上    14
1.4.4 按需获取数据    16
1.4.5 可点击列表    16
1.4.6 为JSF设计的集成测试    17
1.5 Seam的核心竞争力    18
1.5.1 让JSF变成能手    19
1.5.2 让你快速构建“富”应用    21
1.5.3 构建敏捷的开发环境    22
1.6 小结    23
第2章 seam-gen实践    25
2.1 Open 18原型    25
2.1.1 整装待发    26
2.1.2 将实体映射到数据库Schema    27
2.2 让seam-gen完成初始工作    30
2.2.1 seam-gen的特点    30
2.2.2 seam-gen提供的特性    31
2.3 用seam-gen启动项目    32
2.3.1 seam-gen命令一览    32
2.3.2 与seam-gen的针锋对话    34
2.3.3 创建基础项目结构    37
2.3.4 生成CRUD    38
2.4 将项目部署到JBoss应用服务器    40
2.4.1 部署    40
2.4.2 展开    41
2.4.3 切换环境    42
2.4.4 启动JBoss应用服务器    43
2.5 展示与讲述、改变和重复    45
2.5.1 球场漫步    45
2.5.2 反向工程的过程    50
2.5.3 探讨生成项目的结构    53
2.6 快速开发seam-gen项目    56
2.6.1 增量热部署    57
2.6.2 用IDE加速开发    60
2.7 小结    69
第二部分 Seam基础知识
第3章 Seam的生命周期    72
3.1 Seam如何参与请求    73
3.1.1 Seam的开关    73
3.1.2 JSF Servlet:Seam的动力    74
3.1.3 通过Seam的资源Servlet访问
资源    79
3.1.4 Seam的Servlet过滤器链    80
3.1.5 Seam的阶段监听器    82
3.2 没有Seam的JSF生命周期    83
3.2.1 JSF生命周期阶段    84
3.2.2 初始请求    85
3.2.3 回传    87
3.2.4 JSF生命周期的缺点    88
3.3 Seam面向页面生命周期的附加功能    90
3.3.1 pages.xml的高级编排    90
3.3.2 智能导航    92
3.3.3 Seam UI命令组件    95
3.3.4 页面参数    96
3.3.5 页面动作:先执行我    100
3.4 页面动作与导航的结合    101
3.4.1 对请求进行完整性检查    102
3.4.2 内建的页面视图    103
3.4.3 对搜索引擎友好的URL    104
3.5 Seam的JSF生命周期    106
3.5.1 阶段监听器和Servlet过滤器    106
3.5.2 概览增强的生命周期    106
3.6 用try-catch块包围生命周期    109
3.6.1 以优雅的方式处理失败    109
3.6.2 注册异常处理器    109
3.6.3 将异常扼杀在萌芽中    110
3.7 小结    111
第4章 组件及其上下文    113
4.1 Seam的上下文命名容器    113
4.1.1 Seam的上下文模型    114
4.1.2 统一了Java的Servlet上下文    114
4.1.3 Seam中新的有状态上下文    115
4.1.4 Seam中增强的Servlet上下文    116
4.2 组件的分类    117
4.2.1 组件与组件实例    117
4.2.2 Seam管理组件    118
4.3 用注解定义组件    119
4.3.1 给组件取个名称    120
4.3.2 给组件一个作用域    121
4.4 完整的组件范例    122
4.4.1 创建实体组件    122
4.4.2 准备动作Bean组件    126
4.4.3 集成测试组件    127
4.4.4 让组件“钩进”JSF    128
4.5 组件的一生    131
4.5.1 加载组件定义    131
4.5.2 何时安装组件    132
4.5.3 给一个组件多个角色    134
4.5.4 在启动时实例化组件    135
4.5.5 组件生命周期回调    136
4.5.6 将组件组装起来    138
4.5.7 所有组件在哪里结束生命
周期    139
4.6 在Seam中使用EJB 3会话Bean    139
4.6.1 到底是谁的组件    140
4.6.2 Seam会话Bean组件的生成    141
4.6.3 整合机制    142
4.7 访问组件    146
4.7.1 访问模式    146
4.7.2 访问策略    147
4.8 小结    153
第5章 Seam组件描述符    155
5.1 利用XML定义组件    156
5.1.1 描述符的选择策略    156
5.1.2 组件描述符的结构    157
5.1.3 细粒度组件描述符    159
5.2 组件描述符中的XML命名空间    160
5.2.1 XML命名空间声明的作用    160
5.2.2 为包中的组件定义XML命名
空间    163
5.2.3 如何转译XML命名空间    164
5.2.4 引入上下文变量前缀    167
5.3 配置组件属性    168
5.3.1 将组件定义成对象原型    168
5.3.2 在何处定义组件属性    169
5.3.3 属性值类型    175
5.3.4 组装组件    180
5.4 组件定义和组件配置    182
5.4.1 避免与现有定义相冲突    183
5.4.2 混和使用注解和XML    184
5.5 配置和启用内建组件    184
5.5.1 用组件描述符控制Seam    184
5.5.2 配置Seam的国际化支持    185
5.6 小结    187
第6章 IoC    189
6.1 bijection:依赖注入的演变    190
6.1.1 引入bijection    190
6.1.2 高尔夫球场上的bijection    191
6.1.3 激活bijection    191
6.2 动态的依赖注入    193
6.2.1 声明注入点    193
6.2.2 注入流程    195
6.2.3 混合作用域和可序列化的能力    197
6.2.4 注入变体    198
6.3 注出上下文变量    200
6.3.1 注出流程    200
6.3.2 注出用例    202
6.3.3 内建的数据模型支持    204
6.4 避开bijection    211
6.4.1 内部方法调用    211
6.4.2 方法上下文探秘    213
6.4.3 重入(Reentrant)方法调用    213
6.4.4 通过关闭拦截器来关闭bijection    215
6.5 组件事件    216
6.5.1 通过组件触发事件    216
6.5.2 定义事件观察者    218
6.5.3 在页面转换中触发事件    219
6.5.4 内建事件    220
6.6 自定义的方法拦截器    221
6.6.1 拦截器的利与弊    221
6.6.2 定义Seam拦截器    223
6.7 工厂和管理器组件    224
6.7.1 上下文变量@Factory    224
6.7.2 @Unwrap组件    230
6.8 小结    233
第三部分 Seam的状态管理
第7章 Seam的工作单元:对话    236
7.1 学会辨别对话的状态    236
7.1.1 重新定义工作单元    237
7.1.2 管理状态的压力    238
7.2 对话上下文    240
7.2.1 从HTTP会话中划出工作
空间    240
7.2.2 可以在对话中保存什么数据    242
7.3 建立对话范围    243
7.3.1 对话的状态    243
7.3.2 启动长期对话    246
7.3.3 让对话继续    252
7.3.4 将对象收集到对话中    253
7.3.5 终止长期对话    256
7.4 将对话搁置    258
7.4.1 放弃对话    258
7.4.2 创建嵌套对话    259
7.5 对话转换    262
7.5.1 用对话作为工作空间    262
7.5.2 给对话一个说明    264
7.5.3 利用内建的对话转换器    265
7.6 用页面流驱动对话    270
7.6.1 构建页面流    270
7.6.2 了解页面流    271
7.6.3 推进页面流    273
7.6.4 处理返回按钮    275
7.7 特定的对话    276
7.7.1 生意开张    276
7.7.2 展示结果    277
7.8 小结    278
第8章 了解Java持久化    279
8.1 Java持久化原理    280
8.1.1 建立期望值    280
8.1.2 Java持久化的四大要素    280
8.2 实体和关系    281
8.2.1 映射元数据    282
8.2.2 传递性持久化    282
8.2.3 在持久层中引入注解    283
8.3 持久化单元    284
8.3.1 定义JCA数据源    284
8.3.2 持久化单元描述符    285
8.3.3 持久化管理器工厂    287
8.4 持久化管理器    287
8.4.1 获得持久化管理器    287
8.4.2 持久化管理器的管理功能    288
8.4.3 设置持久化上下文的作用域    289
8.5 事务    289
8.5.1 事务API的分类    289
8.5.2 原子工作单元    290
8.5.3 ACID缩写    291
8.6 管理企业中的持久化    292
8.6.1 扩展持久化上下文简介    292
8.6.2 扩展持久化上下文的好处    293
8.7 在JPA或Hibernate中做出选择    298
8.7.1 Hibernate和JPA之间的关系    298
8.7.2 Hibernate和JPA之间的区别    299
8.7.3 Seam的合成方法    299
8.8 小结    300
第9章 受Seam管理的持久化和事务    301
9.1 正确管理持久化上下文    301
9.1.1 尊重持久化管理器    302
9.1.2 管理扩展的持久化上下文    303
9.2 强化持久化管理器的能力    304
9.2.1 Seam的标准强化功能    304
9.2.2 让Hibernate充分发挥    307
9.3 在Seam中构建持久化单元    309
9.3.1 Seam的持久化管理器工厂    309
9.3.2 受Seam管理的持久化上下文    311
9.3.3 通过JNDI共用持久化管理器
工厂    313
9.3.4 在启动时验证持久化上下文    315
9.4 Seam的事务支持    316
9.4.1 全局事务    316
9.4.2 Seam的事务抽象层    317
9.4.3 控制受Seam管理的事务    319
9.4.4 应用程序事务    321
9.5 小结    324
第10章 快速开发Seam应用程序    325
10.1 框架中的框架    325
10.1.1 持久化API的包装    326
10.1.2 持久化控制器    327
10.1.3 两种用途    329
10.2 采用Home组件的有状态CRUD    330
10.2.1 弥补Anemic Domain Model的
不足    330
10.2.2 领域对象中引入Home    330
10.2.3 Home的应用    334
10.2.4 离开Home的风险    344
10.2.5 CRUD XML    349
10.3 提供反馈    351
10.3.1 自定义状态消息    351
10.3.2 创建与i18n兼容的消息    352
10.3.3 事务成功事件    353
10.4 用Query组件进行更智能的查询    354
10.4.1 创建结果集列表    355
10.4.2 对结果集分页    357
10.4.3 同时删除多个记录    359
10.4.4 对结果集排序    360
10.4.5 对结果集添加限制    362
10.5 小结    367
第四部分 深入业务需求
第11章 保护Seam应用程序安全    370
11.1 启动验证    371
11.1.1 给用户一个id    371
11.1.2 用3个步骤实现验证    372
11.1.3 概览Seam的id管理    378
11.1.4 更“基础的”验证    379
11.2 保护页面安全    381
11.2.1 JSF安全的挑战    381
11.2.2 请求验证    383
11.2.3 安全地服务页面    387
11.3 基于角色的授权    388
11.3.1 表达限制    389
11.3.2 声明基于角色的限制    391
11.4 利用Drools进行基于规则的授权    394
11.4.1 规则与角色    394
11.4.2 配置Drools    394
11.4.3 用Drools创建规则    396
11.4.4 自动侦测上下文    401
11.5 人机分离    403
11.5.1 CAPTCHA概览    403
11.5.2 在表单中添加一个CAPTCHA
问讯    403
11.6 小结    404
第12章 Ajax和JavaScript远程处理    405
12.1 结合JSF使用Ajax    406
12.1.1 采用server-centric应用程序
模型    406
12.1.2 Ajax4jsf和ICEfaces向JSF
开启了通信渠道    406
12.1.3 Seam在基于Ajax的JSF请求
中的作用    410
12.2 部分提交表单    412
12.2.1 即时校验    412
12.2.2 精通业务的校验    414
12.2.3 协助用户填写表单    415
12.3 ICEfaces的Ajax Push    416
12.4 JavaScript与Seam的远程处理    418
12.4.1 透明的Ajax    418
12.4.2 让浏览器访问Seam组件    420
12.4.3 调用服务器端组件    423
12.4.4 本地存根    426
12.5 对话的远程处理调用    429
12.5.1 加入正在进行的对话    429
12.5.2 启动对话    430
12.5.3 成批发送请求    431
12.6 响应GWT远程调用    432
12.6.1 GWT整合简介    432
12.6.2 准备远程处理服务    432
12.6.3 通过Seam远程处理
GWT服务调用    433
12.7 小结    434
第13章 文件、丰富渲染和电子邮件支持    436
13.1 加载文件并渲染动态图像    436
13.1.1 接受文件加载    437
13.1.2 从原始数据渲染图像    439
13.2 用iText生成PDF    441
13.2.1 用UI组件对PDF进行排版    441
13.2.2 处理表格和单元格    445
13.2.3 添加颜色    448
13.2.4 优雅的失败和友好的文件
扩展名    448
13.2.5 提供动态文件    449
13.3 用JFreeChart轻松绘制图表    451
13.3.1 图表基础知识    451
13.3.2 柱状图    452
13.3.3 线图    453
13.3.4 饼状图    454
13.4 用Seam的方式构建电子邮件    455
13.4.1 发出第一条消息    455
13.4.2 在消息中附加其他因素    458
13.4.3 在Seam中构建JavaMail    461
13.4.4 发布动态消息    464
13.5 用resource bundle定制UI    465
13.5.1 让Seam使用正确的语言    465
13.5.2 主题    468
13.6 小结    470
附录A Seam的准备工作    471
A.1 准备工作    471
A.1.1 与Java 5的兼容性    472
A.1.2 Java EE 5应用服务器    472
A.1.3 没有(JavaServer)Faces    474
A.2 下载Seam发行包    475
A.2.1 Seam的模块    475
A.2.2 诸多文件和范例    476
A.2.3 在杂乱中寻找seam-gen    476
A.3 seam-gen和Open 18范例应用程序    476
A.3.1 源代码    476
A.3.2 H2数据库    477
A.3.3 Apache Ant带动了seam-gen    477
A.3.4 随意选用RichFaces或
ICEfaces    477
A.4 管理seam-gen工程中的类库    478
A.5 添加Seam作为Maven 2依赖    478
参考文献    480
暂无评论!
合作: 老虎机游戏 体育博彩 新葡京娱乐场