Webx框架指南

2010-11-13


引言
1. 阅读向导
2. Webx是什么?
3. Webx的历史
4. 为什么要用Webx而不是其它的开源框架?
5. Webx的优势
5.1. 成熟可靠性
5.2. 开放和扩展性
6. Webx还缺少什么?
部分 I. Webx框架概览
第 1 章 Webx总体介绍
1.1. 设计理念
1.1.1. 框架的本质
1.1.2. 基础框架
1.1.3. 层次化
1.2. Webx的层次
1.2.1. 三个大层次
1.2.2. 剪裁和定制Webx
1.3. 本章总结
第 2 章 SpringExt
2.1. 用SpringExt装配服务
2.1.1. Spring Beans
2.1.2. Spring Schema
2.1.3. SpringExt Schema
2.2. SpringExt原理
2.2.1. XML Schema中的秘密
2.2.2. 扩展点,Configuration Point
2.2.3. 捐献,Contribution
2.2.4. 组件和包
2.2.5. 取得Schemas
2.3. SpringExt其它特性
2.4. 本章总结
第 3 章 Webx Framework
3.1. Webx的初始化
3.1.1. 初始化级联的Spring容器
3.1.2. 初始化日志系统
3.2. Webx响应请求
3.2.1. 增强request、response、session的功能
3.2.2. Pipeline流程机制
3.2.3. 异常处理机制
3.2.4. 开发模式工具
3.2.5. 响应和处理请求的更多细节
3.3. 定制Webx Framework
3.3.1. 定制WebxRootController
3.3.2. 定制WebxController
3.4. 本章总结
第 4 章 Webx Turbine
4.1. 设计理念
4.1.1. 页面驱动
4.1.2. 约定胜于配置
4.2. 页面布局
4.3. 处理页面的基本流程
4.4. 依赖注入
4.4.1. Spring原生注入手段
4.4.2. 注入request、response和session对象
4.4.3. 参数注入
4.5. 定制Webx Turbine
4.6. 本章总结
部分 II. Webx基础设施服务
第 5 章 Resource Loading服务指南
5.1. 资源概述
5.1.1. 什么是资源?
5.1.2. 如何表示资源?
5.1.3. 如何访问资源?
5.1.4. 如何遍历资源?
5.1.5. 有什么问题?
5.2. Spring的ResourceLoader机制
5.2.1. Resource接口
5.2.2. ResourceLoaderResourcePatternResolver接口
5.2.3. 在代码中取得资源
5.2.4. Spring如何装载资源?
5.2.5. Spring ResourceLoader的缺点
5.3. Resource Loading服务
5.3.1. 替换Spring ResourceLoader
5.3.2. 定义新资源
5.3.3. 重命名资源
5.3.4. 重定向资源
5.3.5. 匹配资源
5.3.6. 在多个ResourceLoader中查找
5.3.7. 装载parent容器中的资源
5.3.8. 修改资源文件的内容
5.3.9. 直接使用ResourceLoadingService
5.3.10. 在非Web环境中使用Resource Loading服务
5.4. ResourceLoader参考
5.4.1. FileResourceLoader
5.4.2. WebappResourceLoader
5.4.3. ClasspathResourceLoader
5.4.4. SuperResourceLoader
5.4.5. 关于ResourceLoader的其它考虑
5.5. 本章总结
第 6 章 Filter、Request Contexts和Pipeline
6.1. Filter
6.1.1. Filter的用途
6.1.2. Filter工作原理
6.1.3. Filter的限制
6.1.4. Webx对filter功能的补充
6.2. Request Contexts服务
6.2.1. Request Contexts工作原理
6.2.2. Request Contexts的用途
6.2.3. Request Contexts的使用
6.3. Pipeline服务
6.3.1. Pipeline工作原理
6.3.2. Pipeline的用途
6.3.3. Pipeline的使用
6.4. 本章总结
第 7 章 Request Contexts功能指南
7.1. <basic> - 提供基础特性
7.1.1. 拦截器接口
7.1.2. 默认拦截器
7.2. <set-locale> -设置locale区域和charset字符集编码
7.2.1. Locale基础
7.2.2. Charset编码基础
7.2.3. Locale和charset的关系
7.2.4. 设置locale和charset
7.2.5. 使用方法
7.3. <parser> - 解析参数
7.3.1. 基本使用方法
7.3.2. 上传文件
7.3.3. 高级选项
7.4. <buffered> - 缓存response中的内容
7.4.1. 实现原理
7.4.2. 使用方法
7.5. <lazy-commit> - 延迟提交response
7.5.1. 什么是提交
7.5.2. 实现原理
7.5.3. 使用方法
7.6. <rewrite> -重写请求的URL和参数
7.6.1. 概述
7.6.2. 取得路径
7.6.3. 匹配rules
7.6.4. 匹配conditions
7.6.5. 替换路径
7.6.6. 替换参数
7.6.7. 后续操作
7.6.8. 重定向
7.6.9. 自定义处理器
7.7. 本章总结
第 8 章 Request Context之Session指南
8.1. Session概述
8.1.1. 什么是Session
8.1.2. Session数据存在哪?
8.1.3. 创建通用的session框架
8.2. Session框架
8.2.1. 最简配置
8.2.2. Session ID
8.2.3. Session的生命期
8.2.4. Session Store
8.2.5. Session Model
8.2.6. Session Interceptor
8.3. Cookie Store
8.3.1. 多值Cookie Store
8.3.2. 单值Cookie Store
8.4. 其它Session Store
8.4.1. Simple Memory Store
8.5. 本章总结
部分 III. Webx应用支持服务
第 9 章 表单验证服务指南
9.1. 表单概述
9.1.1. 什么是表单验证
9.1.2. 表单验证的形式
9.2. 设计
9.2.1. 验证逻辑与表现逻辑分离
9.2.2. 验证逻辑和应用代码分离
9.2.3. 表单验证的流程
9.3. 使用表单验证服务
9.3.1. 创建新数据
9.3.2. 修改老数据
9.3.3. 批量创建或修改数据
9.4. 表单验证服务详解
9.4.1. 配置详解
9.4.2. Validators
9.4.3. Form Tool
9.4.4. Field keys的格式
9.4.5. 外部验证
9.5. 本章总结
部分 IV. Webx应用实作
第 10 章 创建第一个Webx应用
10.1. 准备工作
10.1.1. 安装JDK
10.1.2. 安装和配置maven
10.1.3. 安装集成开发环境
10.2. 创建应用
10.3. 运行应用
10.4. 提问和解答
10.4.1. 在生产环境的应用上,也会出现前述的“开发者首页”吗?
10.4.2. “开发模式”是什么意思?
10.4.3. 所生成的应用中包含了什么?
第 11 章 Webx日志系统的配置
11.1. 名词解释
11.1.1. 日志系统(Logging System)
11.1.2. 日志框架(Logging Framework)
11.2. 在Maven中组装日志系统
11.2.1. 在Maven中配置logback作为日志系统
11.2.2. 在Maven中配置log4j作为日志系统
11.3. 在WEB应用中配置日志系统
11.3.1. 设置WEB应用
11.3.2. 定制/WEB-INF/logback.xml(或/WEB-INF/log4j.xml
11.3.3. 同时初始化多个日志系统
11.4. 常见错误及解决
11.4.1. 查错技巧
11.4.2. 异常信息:No log system exists
11.4.3. 异常信息:NoSuchMethodError: org.slf4j.MDC.getCopyOfContextMap()
11.4.4. STDERR输出:Class path contains multiple SLF4J bindings
11.4.5. 看不到日志输出
11.5. 本章总结
部分 V. 辅助工具
第 12 章 安装和使用SpringExt插件
12.1. SpringExt插件有什么用?
12.2. Maven插件
12.2.1. 在pom.xml中定义插件
12.2.2. 启动schema服务器
12.2.3. 导出所有的schemas
12.2.4. Maven插件的可选参数
12.3. Eclipse插件
12.3.1. 安装插件
12.3.2. 利用插件编辑Webx/SpringExt配置文件
12.3.3. 利用插件编辑SpringExt组件
12.4. 本章总结
第 13 章 AutoConfig工具使用指南
13.1. 需求分析
13.1.1. 解决方案
13.2. AutoConfig的设计
13.2.1. 角色与职责
13.2.2. 分享二进制目标文件
13.2.3. 部署二进制目标文件
13.2.4. AutoConfig特性列表
13.3. AutoConfig的使用 —— 开发者指南
13.3.1. 建立AutoConfig目录结构
13.3.2. 建立auto-config.xml描述文件
13.3.3. 建立模板文件
13.4. AutoConfig的使用 —— 部署者指南
13.4.1. 在命令行中使用AutoConfig
13.4.2. 在maven中使用AutoConfig
13.4.3. 运行并观察AutoConfig的结果
13.4.4. 共享properties文件
13.4.5. AutoConfig常用命令
13.5. 本章总结
第 14 章 AutoExpand工具使用指南
14.1. AutoExpand工具简介
14.1.1. Java、JavaEE打包的格式
14.1.2. 应用部署的方式
14.1.3. AutoExpand的用武之地
14.2. AutoExpand的使用
14.2.1. 取得AutoExpand
14.2.2. 执行AutoExpand
14.2.3. AutoExpand和AutoConfig的合作
14.3. AutoExpand的参数
14.4. 本章总结