Seam Framework Web开发宝典(第2版)
作者:
袁俊涛
(Michael Juntao Yuan) 著 , 袁俊涛
(Michael Juntao Yuan) 著
出版时间:
2010-06
版次:
1
ISBN:
9787302225256
定价:
58.00
装帧:
平装
开本:
16开
纸张:
胶版纸
页数:
400页
字数:
627千字
正文语种:
简体中文
-
全面更新内容,涵盖Seam2.x的主要增强功能:《SeamFrameworkWeb开发宝典(第2版)》是Seam编程方面的主要著作,《SeamFrameworkWeb开发宝典(第2版)》系统地更新了内容,以反映Searn2.x引入的主要增强功能。《SeamFrameworkWeb开发宝典(第2版)》的3位作者均是Seam项目的关键贡献者,他们通过翔实的示例应用程序来讲解Seam2.x,这些示例应用程序揭示了Seam如何简化我们之前遇到的困难的或不切实际的任务。《SeamFrameworkWeb开发宝典(第2版)》在详尽的描述之外还辅以深入的功能讨论,以演示如何充分利用Seam的强大功能。无论是Seam编程方面的新手,还是希望更加深入掌握Seam2.x的有经验的Seam开发人员,《SeamFrameworkWeb开发宝典(第2版)》都是不可或缺的佳作。
主要内容
使用Seam的对话模型、事务管理以及其他改进功能。
增强安全、执行端到端验证以及提供自定义异常处理页面。
在应用程序中使用Quartz执行计时作业。
使用简单的方法生成可收藏的RESTf山网页。
利用Seam2.x中新的多层缓存机制开发高度可伸缩的应用程序。
使用能够直接在JVM上运行的脚本语言Groovy简化开发。
使用旧PM业务流程改进页面流。
预览改变JavaEEWeb开发现状的WebBeans(JSR-299),WebBeans同时也是Seam的未来核心技术。 袁俊涛(MichaelJuntaoYuan),是Ringful有限责任公司的创始人之一,这是一家开发电话语音RESTfulAPl和移动消息短信解决方案的公司。他为Seam项目贡献代码,并在WWW.michaelyuan.com/blog中撰写有关Seam的博客文章。Yuan曾经在RedHat的JBoss部门担任过技术产品经理,并著有5本有关软件开发的书籍。
欧夏利克(JacobOrshalick),是一位独立咨询师,拥有FocusITSolutions有限责任公司。Jacob是Seam项目的活跃贡献者,他-直在其博客网站上撰写有关SeamgnJavaEE技术的文章。
ThomasHeute,曾经是JBoss公司的JBossSeamFramework的共同领导者,现在是JBossPortal项目成员。他曾经在美国国家标准技术研究院和美国国家安全局从事高级研究工作。 第1部分Seam入门
第1章Seam的定义
1.1集成和增强JavaEE框架
1.2能够理解ORM的Web框架
1.3支持有状态的web应用程序
1.4为Web2.0做好准备
1.5通过双向依赖注入实现POJO服务
1.6惯例优先原则
1.7避免滥用ⅪⅥL
1.8为方便测试而设计
1.9优秀的工具支持
1.10开始编写代码
第2章SeamHelIoWorId
2.1创建数据模型
2.2将数据模型映射到Web表单
2.3处理W.eb事件
2.4导航到下一个页面
2.5EJB3bea33接口和强制性方法
2.6有关Seam编程模型的更多知识
2.6.1Seam内置组件
2.6.2测试的简便性
2.6.3基于getter/setter方法的双向注入
2.6.4避免过多的双向注入
2.6.5通过EntityManager‘访问数据库
2.7配置和打包
2.7.1WAR文件
2.7.2Seam组件JAR包
2.8Seanl应用程序的简易性
第3章推荐使用的JSF增强功能
3.1Facelets简介
3.1.1使用Facelets的原因
3.1.2使用Facelets的HelloWorld示例
3.1.3使用Facelets作为模板引擎
3.1.4数据列表组件
3.2Seam对JSF的增强
3.2.1SeamUI标记
3.2.2Seam的JSF表达式语言增强
3.2.3表达式语言的使用范围
3.2.4Seam过滤器
3.2.5有状态的JSF
3.3添加对Facelets和SearnUI的支持
3.4对PDF文档、电子邮件和富文本的支持
3.4.1生成PDF报表
3.4.2基于模板的电子邮件
3.4.3富文本的显示
3.5国际化
第4章无需EJB3的Seam
4.1仅使用POJO的Seam应用程序示例
4.2配置
4.3打包
4.4使用POJO的折中
第5章快速应用程序开发工具
5.1先决条件
5.2快速教程
5.2.1设置seam-gen
5.2.2生成骨架应用程序
5.2.3理解配置文件
5.2.4开发应用程序
5.2.5构建和部署
5.2.6运行测试用例
5.3使用IDE
5.3.1NetBeans
5.3.2Eclipse
5.3.3JBossTools与JBossDeveloperStudio
5.4从数据库生成CRUD应用程序
5.5seam-gen命令参考
第2部分简化有状态应用程序开发
第6章Searn有状态框架简介
6.1ORM的正确用法
6.2更好的性能
6.3更好的浏览器导航支持
6.4更少的内存泄漏
6.5高粒度组件生命周期
6.6减少样板代码
第7章组件编程思想
7.1有状态组件
7.1.1有状态实体bean
7.1.2有状态的会话bean
7.2管理有状态组件
7.2.1有状态组件的生命周期
7.2.2工厂方法
7.2.3管理器组件
7.3通过XML配置组件
7.4页面导航流
第8章对话
8.1对话的定义
8.1.1默认对话作用域
8.1.2显示JSF消息
8.2长期运行对话
8.2.1HotelBooking示例简介
8.2.2长期运行对话的生命周期
8.2.3对话超时
8.3管理长期运行对话
8.3.1注解方法
8.3.2导航方法:
8.3.3启动长期运行对话
8.3.4对话内部
8.3.5结束长期运行对话
8.3.6链接和按钮
8.4新领域
第9章工作区和并发对话
9.1工作区的定义
9.2工作区管理
9.2.1工作区切换器
9.2.2跨工作区传递对话
9.2.3管理对话ID
9.3自然对话
9.3.1通过链接启动自然对话
9.3.2重定向到自然对话
9.3.3恢复自然对话
9.3.4重写到用户友好URL
9.4工作区超时
9.5无状态web中的桌面特性
第10章嵌套对话
10.1需要嵌套对话的原因
10.2延续对话
10.2.1理解嵌套对话上下文
10.2.2嵌套对话
10.3对话栈
10.3.1管理对话栈
10.3.2显示面包屑路径
10.3.3嵌套对话超时
10.4细粒度状态管理
第11章事务与持久化
11.1Seam托管事务
11.1.1事务属性
11.1.2强制事务回滚
11.2原子对话(Web事务)
11.2.1管理持久化上下文
11.2.2Seam托管持久化上下文
11.2.3每个对话一个事务
第3部分整合Web与数据组件
第12章验证输入数据
12.1表单验证基础
12.2用于实体bean的验证注解
12.3触发验证操作
12.4在Web表单上显示错误消息
12.5使用自定义JSF验证器
第13章可单击数据表
13.1实现可单击数据表
13.1.1显示数据表
13.1.2将选中的对象注入到事件处理程序中
13.1.3在数据表中使用扩展EL
13.2Seam数据绑定框架
第14章利用事件解耦组件
14.1观察者模式
14.2组件驱动的事件
14.2.1声明式引发事件
14.2.2观察事件I
14.2.3事件处理和EventsAPI
第15章可收藏网页
15.1使用页面参数
15.2以Java为中心的方法
15.2.1从HTTPGET请求中获得查询参数
15.2.2为页面加载数据
15.2.3进一步处理已收藏页面
15.3RESTfulWleb服务
第16章SeamCRUD应用程序框架
16.1DA0
16.2SeamCRUDDA0是PoJO
16.3声明式SeamDAO组件
16.3.1使用实体对象的简化名称
16.3.2检索并显示实体对象
16.3.3初始化新的实体实例
16.3.4成功消息
16.4查询
16.4.1动态查询
16.4.2显示多页查询结果
第17章适当地处理错误
17.1不采用标准servlet错误处理页面方法的原因
17.2设置异常过滤器
17.3异常注解
17.4使用pages.xml来处理系统异常
17.5调试信息页面
17.5.1Facelets调试页面
17.5.2Seain调试页面
第18章Seam安全框架
18.1验证与用户角色
18.2声明式访问控制
18.2.1页面访问控制
18.2.2UI组件
18.2.3组件访问控制
18.2.4类型安全的角色注解
18.3身份管理
18.3.1使用JpaldentityStore
18.3.2使用LdapldentibrStore
18.4其他安全功能
18.4.1简化SSL
18.4.2使用CAPCHA来区分人类和计算机
第4部分Seam对AJAX的支持
第19章自定义AJAXUI组件
19.1具有自动完成功能的文本输入示例
19.2功能丰富的输入控件示例
19.3可滚动数据表
19.4在Seam中使用RichFaces
19.5其他JSF组件库
第20章让已有组件支持AJAX
20.1AJAX验证器示例
20.2编程式AJAX
20.3AJAX按钮
20.4AJA.X容器
20.5其他好用的工具
20.6在Seam中使用Aiax4isf组件库
20.7Ajax4.jsf组件库的优缺点
第21章在Searn中直接集成JavaScript
21.1AJAX验证器示例(重装上阵)
21.1.1服务器端组件
21.1.2在Web页面上触发JavaScript事件
21.1.3执行AJAX调用
21.2AJAX进度条
21.2.1Seam组件
21.2.2在JavaScript中访问Seam组件
21.3在Seam应用程序中集成Doio工具箱
21.3.1视觉效果小部件
21.3.2输入小部件
第5部分业务流程和规则
第22章基于规则的安全框架
22.1基于规则的访问控制
22.2基于规则的权限配置
22.3简单的访问规则
22.4按实例配置访问规则
22.5保护实体
第23章在Web应用程序中集成业务规则
23.1嵌入式规则
23.1.1基于规则的行为
23.1.2应用规则
23.2通用规则
23.2.1工作内存
23.2.2使用工作内存
23.2.3可动态更新的规则
23.3构建和部署
23.4结论
第24章管理业务流程
24.1jBPM的概念和术语
24.2应用程序用户和jBPM角色
24.3创建业务流程
24.3.1定义流程
24.3.2创建业务流程实例
24.3.3将数据对象绑定在流程作用域中
24.4任务管理
24.4.1实现任务的业务逻辑
24.4.2指定要处理的任务
24.4.3在UI中选择任务
24.5基于业务流程的页面导航流
24.6jBPM库和配置
第25章集成业务流程和规则
25.1流程
25.2规则
25.3结论
第6部分Seam应用程序测试
第26章单元测试
26.1一个简单的TestNG测试用例
……
第27章集成测试
第7部分生产部署
第28章使用生产数据库
第29章JavaEE5.0部署
第30章性能调整和集群
第8部分新兴技术
第31章Web应用程序中周期性作业的调度
第32章利用多层缓存提高可伸缩性
第33章Seam对Groovy韵支持
第34章WebBeans简介
附录A安装和部署JBoss应用服务器
附录B将示例应用程序用作模板
附录CMaven的使用
附录D直接访问HibernateAPI
-
内容简介:
全面更新内容,涵盖Seam2.x的主要增强功能:《SeamFrameworkWeb开发宝典(第2版)》是Seam编程方面的主要著作,《SeamFrameworkWeb开发宝典(第2版)》系统地更新了内容,以反映Searn2.x引入的主要增强功能。《SeamFrameworkWeb开发宝典(第2版)》的3位作者均是Seam项目的关键贡献者,他们通过翔实的示例应用程序来讲解Seam2.x,这些示例应用程序揭示了Seam如何简化我们之前遇到的困难的或不切实际的任务。《SeamFrameworkWeb开发宝典(第2版)》在详尽的描述之外还辅以深入的功能讨论,以演示如何充分利用Seam的强大功能。无论是Seam编程方面的新手,还是希望更加深入掌握Seam2.x的有经验的Seam开发人员,《SeamFrameworkWeb开发宝典(第2版)》都是不可或缺的佳作。
主要内容
使用Seam的对话模型、事务管理以及其他改进功能。
增强安全、执行端到端验证以及提供自定义异常处理页面。
在应用程序中使用Quartz执行计时作业。
使用简单的方法生成可收藏的RESTf山网页。
利用Seam2.x中新的多层缓存机制开发高度可伸缩的应用程序。
使用能够直接在JVM上运行的脚本语言Groovy简化开发。
使用旧PM业务流程改进页面流。
预览改变JavaEEWeb开发现状的WebBeans(JSR-299),WebBeans同时也是Seam的未来核心技术。
-
作者简介:
袁俊涛(MichaelJuntaoYuan),是Ringful有限责任公司的创始人之一,这是一家开发电话语音RESTfulAPl和移动消息短信解决方案的公司。他为Seam项目贡献代码,并在WWW.michaelyuan.com/blog中撰写有关Seam的博客文章。Yuan曾经在RedHat的JBoss部门担任过技术产品经理,并著有5本有关软件开发的书籍。
欧夏利克(JacobOrshalick),是一位独立咨询师,拥有FocusITSolutions有限责任公司。Jacob是Seam项目的活跃贡献者,他-直在其博客网站上撰写有关SeamgnJavaEE技术的文章。
ThomasHeute,曾经是JBoss公司的JBossSeamFramework的共同领导者,现在是JBossPortal项目成员。他曾经在美国国家标准技术研究院和美国国家安全局从事高级研究工作。
-
目录:
第1部分Seam入门
第1章Seam的定义
1.1集成和增强JavaEE框架
1.2能够理解ORM的Web框架
1.3支持有状态的web应用程序
1.4为Web2.0做好准备
1.5通过双向依赖注入实现POJO服务
1.6惯例优先原则
1.7避免滥用ⅪⅥL
1.8为方便测试而设计
1.9优秀的工具支持
1.10开始编写代码
第2章SeamHelIoWorId
2.1创建数据模型
2.2将数据模型映射到Web表单
2.3处理W.eb事件
2.4导航到下一个页面
2.5EJB3bea33接口和强制性方法
2.6有关Seam编程模型的更多知识
2.6.1Seam内置组件
2.6.2测试的简便性
2.6.3基于getter/setter方法的双向注入
2.6.4避免过多的双向注入
2.6.5通过EntityManager‘访问数据库
2.7配置和打包
2.7.1WAR文件
2.7.2Seam组件JAR包
2.8Seanl应用程序的简易性
第3章推荐使用的JSF增强功能
3.1Facelets简介
3.1.1使用Facelets的原因
3.1.2使用Facelets的HelloWorld示例
3.1.3使用Facelets作为模板引擎
3.1.4数据列表组件
3.2Seam对JSF的增强
3.2.1SeamUI标记
3.2.2Seam的JSF表达式语言增强
3.2.3表达式语言的使用范围
3.2.4Seam过滤器
3.2.5有状态的JSF
3.3添加对Facelets和SearnUI的支持
3.4对PDF文档、电子邮件和富文本的支持
3.4.1生成PDF报表
3.4.2基于模板的电子邮件
3.4.3富文本的显示
3.5国际化
第4章无需EJB3的Seam
4.1仅使用POJO的Seam应用程序示例
4.2配置
4.3打包
4.4使用POJO的折中
第5章快速应用程序开发工具
5.1先决条件
5.2快速教程
5.2.1设置seam-gen
5.2.2生成骨架应用程序
5.2.3理解配置文件
5.2.4开发应用程序
5.2.5构建和部署
5.2.6运行测试用例
5.3使用IDE
5.3.1NetBeans
5.3.2Eclipse
5.3.3JBossTools与JBossDeveloperStudio
5.4从数据库生成CRUD应用程序
5.5seam-gen命令参考
第2部分简化有状态应用程序开发
第6章Searn有状态框架简介
6.1ORM的正确用法
6.2更好的性能
6.3更好的浏览器导航支持
6.4更少的内存泄漏
6.5高粒度组件生命周期
6.6减少样板代码
第7章组件编程思想
7.1有状态组件
7.1.1有状态实体bean
7.1.2有状态的会话bean
7.2管理有状态组件
7.2.1有状态组件的生命周期
7.2.2工厂方法
7.2.3管理器组件
7.3通过XML配置组件
7.4页面导航流
第8章对话
8.1对话的定义
8.1.1默认对话作用域
8.1.2显示JSF消息
8.2长期运行对话
8.2.1HotelBooking示例简介
8.2.2长期运行对话的生命周期
8.2.3对话超时
8.3管理长期运行对话
8.3.1注解方法
8.3.2导航方法:
8.3.3启动长期运行对话
8.3.4对话内部
8.3.5结束长期运行对话
8.3.6链接和按钮
8.4新领域
第9章工作区和并发对话
9.1工作区的定义
9.2工作区管理
9.2.1工作区切换器
9.2.2跨工作区传递对话
9.2.3管理对话ID
9.3自然对话
9.3.1通过链接启动自然对话
9.3.2重定向到自然对话
9.3.3恢复自然对话
9.3.4重写到用户友好URL
9.4工作区超时
9.5无状态web中的桌面特性
第10章嵌套对话
10.1需要嵌套对话的原因
10.2延续对话
10.2.1理解嵌套对话上下文
10.2.2嵌套对话
10.3对话栈
10.3.1管理对话栈
10.3.2显示面包屑路径
10.3.3嵌套对话超时
10.4细粒度状态管理
第11章事务与持久化
11.1Seam托管事务
11.1.1事务属性
11.1.2强制事务回滚
11.2原子对话(Web事务)
11.2.1管理持久化上下文
11.2.2Seam托管持久化上下文
11.2.3每个对话一个事务
第3部分整合Web与数据组件
第12章验证输入数据
12.1表单验证基础
12.2用于实体bean的验证注解
12.3触发验证操作
12.4在Web表单上显示错误消息
12.5使用自定义JSF验证器
第13章可单击数据表
13.1实现可单击数据表
13.1.1显示数据表
13.1.2将选中的对象注入到事件处理程序中
13.1.3在数据表中使用扩展EL
13.2Seam数据绑定框架
第14章利用事件解耦组件
14.1观察者模式
14.2组件驱动的事件
14.2.1声明式引发事件
14.2.2观察事件I
14.2.3事件处理和EventsAPI
第15章可收藏网页
15.1使用页面参数
15.2以Java为中心的方法
15.2.1从HTTPGET请求中获得查询参数
15.2.2为页面加载数据
15.2.3进一步处理已收藏页面
15.3RESTfulWleb服务
第16章SeamCRUD应用程序框架
16.1DA0
16.2SeamCRUDDA0是PoJO
16.3声明式SeamDAO组件
16.3.1使用实体对象的简化名称
16.3.2检索并显示实体对象
16.3.3初始化新的实体实例
16.3.4成功消息
16.4查询
16.4.1动态查询
16.4.2显示多页查询结果
第17章适当地处理错误
17.1不采用标准servlet错误处理页面方法的原因
17.2设置异常过滤器
17.3异常注解
17.4使用pages.xml来处理系统异常
17.5调试信息页面
17.5.1Facelets调试页面
17.5.2Seain调试页面
第18章Seam安全框架
18.1验证与用户角色
18.2声明式访问控制
18.2.1页面访问控制
18.2.2UI组件
18.2.3组件访问控制
18.2.4类型安全的角色注解
18.3身份管理
18.3.1使用JpaldentityStore
18.3.2使用LdapldentibrStore
18.4其他安全功能
18.4.1简化SSL
18.4.2使用CAPCHA来区分人类和计算机
第4部分Seam对AJAX的支持
第19章自定义AJAXUI组件
19.1具有自动完成功能的文本输入示例
19.2功能丰富的输入控件示例
19.3可滚动数据表
19.4在Seam中使用RichFaces
19.5其他JSF组件库
第20章让已有组件支持AJAX
20.1AJAX验证器示例
20.2编程式AJAX
20.3AJAX按钮
20.4AJA.X容器
20.5其他好用的工具
20.6在Seam中使用Aiax4isf组件库
20.7Ajax4.jsf组件库的优缺点
第21章在Searn中直接集成JavaScript
21.1AJAX验证器示例(重装上阵)
21.1.1服务器端组件
21.1.2在Web页面上触发JavaScript事件
21.1.3执行AJAX调用
21.2AJAX进度条
21.2.1Seam组件
21.2.2在JavaScript中访问Seam组件
21.3在Seam应用程序中集成Doio工具箱
21.3.1视觉效果小部件
21.3.2输入小部件
第5部分业务流程和规则
第22章基于规则的安全框架
22.1基于规则的访问控制
22.2基于规则的权限配置
22.3简单的访问规则
22.4按实例配置访问规则
22.5保护实体
第23章在Web应用程序中集成业务规则
23.1嵌入式规则
23.1.1基于规则的行为
23.1.2应用规则
23.2通用规则
23.2.1工作内存
23.2.2使用工作内存
23.2.3可动态更新的规则
23.3构建和部署
23.4结论
第24章管理业务流程
24.1jBPM的概念和术语
24.2应用程序用户和jBPM角色
24.3创建业务流程
24.3.1定义流程
24.3.2创建业务流程实例
24.3.3将数据对象绑定在流程作用域中
24.4任务管理
24.4.1实现任务的业务逻辑
24.4.2指定要处理的任务
24.4.3在UI中选择任务
24.5基于业务流程的页面导航流
24.6jBPM库和配置
第25章集成业务流程和规则
25.1流程
25.2规则
25.3结论
第6部分Seam应用程序测试
第26章单元测试
26.1一个简单的TestNG测试用例
……
第27章集成测试
第7部分生产部署
第28章使用生产数据库
第29章JavaEE5.0部署
第30章性能调整和集群
第8部分新兴技术
第31章Web应用程序中周期性作业的调度
第32章利用多层缓存提高可伸缩性
第33章Seam对Groovy韵支持
第34章WebBeans简介
附录A安装和部署JBoss应用服务器
附录B将示例应用程序用作模板
附录CMaven的使用
附录D直接访问HibernateAPI
查看详情
-
九品
北京市丰台区
平均发货12小时
成功完成率81.93%
-
九品
河南省信阳市
平均发货14小时
成功完成率85.23%
-
九品
四川省成都市
平均发货30小时
成功完成率91.51%
-
2010-06 印刷
印次: 1
九品
北京市昌平区
平均发货22小时
成功完成率95.95%
-
八五品
内蒙古包头市
平均发货8小时
成功完成率97.23%
-
九品
湖南省衡阳市
平均发货28小时
成功完成率91.09%
-
九品
北京市昌平区
平均发货7小时
成功完成率90.31%
-
九品
北京市昌平区
平均发货7小时
成功完成率94.69%
-
九五品
北京市朝阳区
平均发货29小时
成功完成率85.98%
-
九五品
北京市丰台区
平均发货18小时
成功完成率64.62%