Seam - 语境相关的组件 [满江红20080327]

Java EE框架

2.0GA


Table of Contents

JBoss Seam简介
1. Seam 入门
1.1. 试试看
1.1.1. 在JBoss AS上运行示例
1.1.2. 在Tomcat服务器上运行示例
1.1.3. 运行测试
1.2. 第一个例子:注册示例
1.2.1. 了解代码
1.2.1.1. 实体Bean:User.java
1.2.1.2. 无状态会话Bean:RegisterAction.java
1.2.1.3. 会话Bean的本地接口:Register.java
1.2.1.4. Seam组件部署描述文件:components.xml
1.2.1.5. Web部署描述文件:web.xml
1.2.1.6. JSF配置:faces-config.xml
1.2.1.7. EJB部署描述文件:ejb-jar.xml
1.2.1.8. EJB持久化部署描述文件:persistence.xml
1.2.1.9. 视图:register.xhtml 和 registered.xhtml
1.2.1.10. EAR部署描述文件:application.xml
1.2.2. 工作原理
1.3. Seam中的可点击列表:消息示例
1.3.1. 理解代码
1.3.1.1. 实体Bean:Message.java
1.3.1.2. 有状态的会话Bean:MessageManagerBean.java
1.3.1.3. 会话Bean的本地接口:MessageManager.java
1.3.1.4. 视图:messages.jsp
1.3.2. 工作原理
1.4. Seam和jBPM:待办事项列表(todo list)示例
1.4.1. 理解代码
1.4.2. 工作原理
1.5. Seam页面流:猜数字范例
1.5.1. 理解代码
1.5.2. 工作原理
1.6. 一个完整的Seam应用程序:宾馆预订范例
1.6.1. 介绍
1.6.2. 预订系统概况
1.6.3. 理解Seam业务对话(Conversation)
1.6.4. Seam的UI控制库
1.6.5. Seam调试页面
1.7. 一个使用Seam和jBPM的完整范例:DVD商店
1.8. 结合Seam和Hibernate的范例:Hibernate预订系统
1.9. 一个RESTful的Seam应用程序:Blog范例
1.9.1. 使用“拉”风格的MVC
1.9.2. 可收藏的搜索结果页面
1.9.3. 在RESTful应用程序中使用“推”风格("push"-style)的MVC
2. 用Seam-gen起步
2.1. 准备活动
2.2. 建立一个新的Eclipse项目
2.3. 创建新动作
2.4. 创建有动作的表单(form)
2.5. 从现有数据库生成应用程序
2.6. 将应用部署为EAR
2.7. Seam与增量热部署
2.8. 在Jboss 4.0下使用Seam
2.8.1. 安装JBoss 4.0
2.8.2. 安装JSF 1.2 RI
3. 上下文相关的组件模型
3.1. Seam上下文
3.1.1. Stateless context(无状态上下文)
3.1.2. Event context(事件上下文)
3.1.3. Page context(页面上下文)
3.1.4. Conversation context(业务会话上下文)
3.1.5. Session context(Session上下文)
3.1.6. Business process context (业务流程上下文)
3.1.7. Application context(应用上下文)
3.1.8. Context variables(上下文变量)
3.1.9. Context搜索优先级
3.1.10. 并发模型
3.2. Seam 组件
3.2.1. 无状态Session Bean
3.2.2. 有状态Session Bean
3.2.3. 实体Bean
3.2.4. JavaBeans
3.2.5. 消息驱动Bean
3.2.6. 拦截
3.2.7. 组件名字
3.2.8. 定义组件范围(Defining the Component Scope)
3.2.9. 具有多个角色的组件(Components with multiple roles)
3.2.10. 内置组件
3.3. 双向注入
3.4. Lifecycle methods(生命周期方法)
3.5. 条件装载(Conditional installation)
3.6. 日志
3.7. Mutable接口和@ReadOnly
3.8. Factory和Manager组件
4. 配置Seam组件
4.1. 通过属性设置来配置组件
4.2. 通过 components.xml 来配置组件
4.3. 细粒度的配置文件
4.4. 可配置的属性类型
4.5. 使用XML命名空间
5. 事件、拦截器和异常处理
5.1. Seam事件
5.1.1. 页面动作
5.1.1.1. 页面参数
5.1.1.2. 导航
5.1.1.3. 导航的定义、页面动作和参数的细粒度文件
5.1.2. 组件驱动的事件
5.1.3. 上下文事件
5.2. Seam 拦截器
5.3. 管理异常
5.3.1. 异常和事务
5.3.2. 激活Seam异常处理
5.3.3. 使用注解处理异常
5.3.4. 用XML处理异常
5.3.5. 一些常见的异常
6. 对话以及工作区管理
6.1. Seam的对话模型
6.2. 嵌套对话
6.3. 使用GET请求来开始一个对话
6.4. 利用<s:link>以及<s:button>
6.5. 成功信息
6.6. 使用“显式”的对话id
6.7. 工作区管理
6.7.1. 工作区管理及JSF导航
6.7.2. 工作区管理和jPDL页面流
6.7.3. 对话转换器
6.7.4. 对话列表
6.7.5. 导航控件
6.8. 对话组件和JSF组件绑定
6.9. 对话组件的并发调用
6.9.1. RichFaces Ajax
7. 页面流和业务流程
7.1. Seam中的页面流
7.1.1. 两种导航模型
7.1.2. Seam和后退按钮
7.2. 使用jPDL页面流
7.2.1. 安装页面流
7.2.2. 开始页面流
7.2.3. 页面节点和跳转
7.2.4. 流程控制
7.2.5. 流程的结束
7.2.6. 页面流组合
7.3. Seam中的业务流程管理
7.4. 使用jPDL业务流程定义
7.4.1. 安装流程定义
7.4.2. 初始化Actor id
7.4.3. 启动一个业务流程
7.4.4. 任务分配
7.4.5. 任务列表
7.4.6. 执行一个任务
8. Seam和对象/关系映射
8.1. 简介
8.2. Seam管理的事务
8.2.1. 关闭Seam管理的事务
8.2.2. 配置Seam事务管理器
8.2.3. 事务同步
8.3. Seam管理的持久化上下文
8.3.1. 在Seam管理的持久化上下文中使用JPA
8.3.2. 使用Seam管理的Hibernate会话
8.3.3. Seam管理的持久化上下文和原子会话
8.4. 使用JPA “代理(delegate)”
8.5. 在EJB-QL/HQL中使用EL
8.6. 使用Hibernate过滤器
9. Seam中的JSF表单验证
10. Groovy集成
10.1. Groovy简介
10.2. 用Groovy编写Seam应用
10.2.1. 编写Groovy组件
10.2.1.1. 实体
10.2.1.2. Seam组件
10.2.2. seam-gen
10.3. 部署
10.3.1. 部署Groovy代码
10.3.2. 开发时部署本地.groovy文件
10.3.3. seam-gen
11. Seam应用程序框架
11.1. 简介
11.2. Home对象
11.3. Query对象
11.4. Controller对象
12. Seam和JBoss规则
12.1. 安装规则
12.2. 在Seam组件中使用规则
12.3. 在jBPM流程定义中使用规则
13. 安全
13.1. 概述
13.1.1. 哪种模式更适合我的应用程序呢?
13.2. 需求
13.3. 取消安全
13.4. 验证
13.4.1. 配置
13.4.2. 编写验证方法
13.4.2.1. Identity.addRole()
13.4.3. 编写登录表单
13.4.4. 简化配置 - 概述
13.4.5. 处理安全异常
13.4.6. 登录重定向
13.4.7. HTTP验证
13.4.7.1. 编写Digest验证者
13.4.8. 高级验证特性
13.4.8.1. 使用容器的JAAS配置
13.5. 错误消息
13.6. 授权
13.6.1. 核心概念
13.6.2. 保护组件
13.6.2.1. @Restrict注解
13.6.2.2. 行内限制
13.6.3. 用户界面中的安全
13.6.4. 保护页面
13.6.5. 保护实体
13.6.5.1. 使用JPA的实体安全
13.6.5.2. 使用Hibernate的实体安全
13.7. 编写安全规则
13.7.1. 许可概述
13.7.2. 配置规则文件
13.7.3. 创建安全规则文件
13.7.3.1. 通配符许可检查
13.8. SSL安全
13.9. 实现Captcha测试
13.9.1. 配置Captcha Servlet
13.9.2. 添加Captcha到页面
13.9.3. 定制Captcha图片
14. 国际化和主题
14.1. 本地化
14.2. 标签
14.2.1. 定义标签
14.2.2. 标签显示
14.2.3. Faces Messages
14.3. 时区
14.4. 主题
14.5. 使用cookie保存locale和主题设置
15. Seam Text
15.1. 基本格式化
15.2. 输入代码和有特殊字符的文本
15.3. 链接
15.4. 输入HTML
16. iText PDF生成
16.1. 使用PDF支持
16.1.1. 创建一个文档
16.1.2. 基本的文本元素
16.1.3. 页眉和页脚
16.1.4. 章节
16.1.5. 列表
16.1.6. 表格
16.1.7. 文档常量
16.1.7.1. 颜色值
16.1.7.2. 对齐方式值
16.1.8. iText配置
16.2. 图表
16.3. 柱状图编码
16.4. 更详细的文档
17. 电子邮件
17.1. 创建一条消息
17.1.1. 附件
17.1.2. HTML/Text 交替部分
17.1.3. 多个收件人
17.1.4. 多条信息
17.1.5. 模板
17.1.6. 国际化
17.1.7. 其它的标识头
17.2. 接收邮件
17.3. 配置
17.3.1. mailSession
17.3.1.1. 在JBoss AS中查找JNDI
17.3.1.2. Seam配置会话
17.4. Meldware
17.5. 标签
18. 异步和消息
18.1. 异步
18.1.1. 异步方法
18.1.2. 包含Quartz Dispatcher的异步方法
18.1.3. 异步事件
18.2. Seam中的消息
18.2.1. 配置
18.2.2. 发送消息
18.2.3. 利用消息驱动Bean接收消息
18.2.4. 在客户端接收消息
19. 缓存
19.1. 在Seam中使用JBossCache
19.2. 页片段缓存
20. Web Services
20.1. 配置和打包
20.2. 对话的Web Services
20.2.1. 建议策略
20.3. Web Servic范例
21. Remoting
21.1. 配置
21.2. Seam对象
21.2.1. Hello World示例
21.2.2. Seam.Component
21.2.2.1. Seam.Component.newInstance()
21.2.2.2. Seam.Component.getInstance()
21.2.2.3. Seam.Component.getComponentName()
21.2.3. Seam.Remoting
21.2.3.1. Seam.Remoting.createType()
21.2.3.2. Seam.Remoting.getTypeName()
21.3. EL表达式求值
21.4. 客户端接口
21.5. 上下文
21.5.1. 设置和读取对话ID
21.5.2. 当前对话范围内的远程调用
21.6. 批量请求
21.7. 使用数据类型
21.7.1. 原生 / 基本 类型
21.7.1.1. String
21.7.1.2. Number
21.7.1.3. Boolean
21.7.2. JavaBeans
21.7.3. Date和Time
21.7.4. Enums 枚举类型
21.7.5. Collections 集合
21.7.5.1. Bags
21.7.5.2. Maps
21.8. 调试
21.9. 加载消息
21.9.1. 修改信息
21.9.2. 隐藏加载信息
21.9.3. 自定义加载指示器
21.10. 控制返回数据
21.10.1. 一般字段的约束
21.10.2. 集合和映射的约束
21.10.3. 特定类型对象的约束
21.10.4. 组合约束
21.11. JMS消息
21.11.1. 配置
21.11.2. 订阅JMS主题
21.11.3. 退订主题
21.11.4. 调整轮询过程
22. Seam和Google的Web工具包(GWT)
22.1. 配置
22.2. 准备你的组件
22.3. 将GWT小组件接到Seam组件
22.4. GWT Ant Targets
23. Spring Framework集成
23.1. 把Seam组件注入Spring Bean中
23.2. 将Spring Bean注入到Seam组件中
23.3. 将Spring Bean转换为Seam组件
23.4. Seam作用域的Spring Bean
23.5. 使用Spring PlatformTransactionManagement
23.6. 在Spring中使用Seam管理的持久化上下文
23.7. 在Spring中使用Seam管理的Hibernate会话
23.8. 作为Seam组件的Spring应用上下文
23.9. 使用Spring TaskExecutor的@Asynchronous
24. Hibernate Search
24.1. 简介
24.2. 配置
24.3. 用法
25. Seam配置和Seam应用程序打包
25.1. Seam基本配置
25.1.1. 将Seam与JSF和servlet容器集成
25.1.2. 使用Facelets
25.1.3. Seam Resource Servlet
25.1.4. Seam Servlet过滤器
25.1.4.1. 异常处理
25.1.4.2. 通过重定向传播对话
25.1.4.3. 多重表单提交
25.1.4.4. 字符编码
25.1.4.5. RichFaces
25.1.4.6. Identity Logging
25.1.4.7. 定制Servlet的上下文管理
25.1.4.8. 增加定制的过滤器
25.1.5. 将Seam与你的EJB容器集成
25.1.6. 切记!
25.2. 在Java EE 5中配置Seam
25.2.1. 打包
25.3. 在J2EE中配置Seam
25.3.1. 在Seam中引导Hibernate
25.3.2. 在Seam中引导JPA
25.3.3. 打包
25.4. 在Java SE中配置Seam,没有内嵌JBoss
25.5. 用嵌入式的JBoss在Java SE中配置Seam
25.5.1. 安装嵌入式的JBoss
25.5.2. 打包
25.6. 在Seam中配置jBPM
25.6.1. 打包
25.7. 在Portal中配置Seam
25.8. 在JBoss AS中配置SFSB和会话超时
26. Seam on OC4J
26.1. jee5/booking 实例
26.1.1. 预订酒店实例的依赖包
26.1.2. OC4J需要的额外依赖包
26.1.3. 配置文件的改变
26.1.4. 构建 jee5/booking 实例
26.2. 部署Seam应用程序到OC4J中
26.3. 将一个使用 seam-gen 创建的应用程序部署到OC4J中。
26.3.1. seam-gen之类的应用程序的OC4J部署描述符
27. Seam注解
27.1. 用于定义组件的注解
27.2. 用于双向注入的注解
27.3. 关于组件生命周期方法的注解
27.4. 用于声明上下文的注解
27.5. 用于在J2EE环境中使用Seam JavaBean组件的注解
27.6. 用于异常的注解
27.7. 用于Seam Remoting 的注解
27.8. 用于Seam拦截器(interceptor)的注解
27.9. 用于异步(asynchronicity)的注解
27.10. 用于JSF的注解
27.10.1. 和 dataTable 一起使用的注解
27.11. 用于数据绑定的元数据注解
27.12. 用于打包(packing)的注解
27.13. 用于和Servlet容器集成的注解
28. 内置Seam组件
28.1. 上下文注入组件
28.2. 工具组件
28.3. 组件的国际化和主题
28.4. 控制对话组件
28.5. 与jBPM相关的组件
28.6. 与安全相关的组件
28.7. 与JMS相关的组件
28.8. 与邮件相关的组件
28.9. 基础组件
28.10. 杂项组件
28.11. 特殊组件
29. Seam的JSF控件
29.1. 标签
29.2. 注解
30. 表达式语言增强
30.1. 参数方法绑定
30.1.1. 用法
30.1.2. 限制
30.1.2.1. 与JSP 2.1不兼容
30.1.2.2. 从Java代码中调用 MethodExpression
30.2. 参数值绑定
30.3. 映射
31. 测试Seam应用程序
31.1. Seam组件的单元测试
31.2. Seam组件的集成测试
31.2.1. 在集成测试中使用Mock对象
31.3. 集成测试Seam应用程序中的用户交互
31.3.1. 利用Mock数据进行集成测试
31.3.2. Seam Mail集成测试
32. Seam工具
32.1. jBPM设计器和查看器
32.1.1. 业务流程设计器
32.1.2. Pageflow查看器
33. 依赖包
33.1. 项目依赖包
33.1.1. Core
33.1.2. Ajax4JSF / RichFaces
33.1.3. Seam Mail
33.1.4. Seam PDF
33.1.5. JBoss Rules
33.1.6. JBPM
33.1.7. GWT
33.1.8. Spring
33.1.9. Groovy
33.2. 使用Maven依赖管理
A. Seam 2.0 开发手册中文翻译项目
A.1. 声明
A.2. 项目历程
A.2.1. Seam 1.2.1 开发手册翻译项目
A.2.2. Seam 2.0 Beta 1 开发手册翻译项目
A.2.3. Seam 2.0 正式版开发手册翻译项目