第1部分 AJAX基础 3
第1章 Java下Web开发新概念 3
1.1 Java下Web开发简介 3
1.2 AJAX与传统Web应用的比较 13
1.3 Java下AJAX开发相关技术、工具简介 15
第2章 Eclipse下Web开发环境的搭建 19
2.1 基于WTP的开发环境的搭建 19
2.1.1 安装Eclipse和WTP 19
2.1.2 在Eclipse中安装配置Tomcat 22
2.1.3 第一个基于WTP的Web应用程序 27
2.2 基于MyEclipse的开发环境的搭建 39
2.2.1 安装MyEclipse 39
2.2.2 在MyEclipse中安装配置Tomcat 43
2.2.3 第一个基于MyEclipse的Web应用程序 45
第3章 基于Java EE技术的Web应用体系结构 49
3.1 Web应用的三层架构 49
3.1.1 应用程序分层结构的发展过程 49
3.1.2 Web应用程序的两层与多层结构 51
3.1.3 物理上和逻辑上的分层概念 53
3.2 Web应用中的MVC 54
3.2.1 MVC概述 54
3.2.2 MVC的含义 55
3.2.3 MVC的工作机制 56
3.2.4 Struts——MVC的实际领袖 56
3.3 MVC开发初体验 59
3.3.1 Struts基本工作流程 59
3.3.2 基于Struts框架的简单示例 60
3.3.3 数据验证 70
3.3.4 Struts标签介绍 75
3.3.5 使用Struts标签对原有程序进行改进 83
第4章 基于Struts 2的Web开发 89
4.1 MVC和Struts 2 89
4.1.1 Struts 2介绍 89
4.1.2 Struts 2与Struts 1的比较 93
4.2 开发基于Struts 2的Web应用程序 95
4.2.1 用Struts 2建立Web应用 95
4.2.2 使用IoC容器调用JavaBean 109
4.2.3 对Action进行单元测试 113
第5章 AJAX技术 115
5.1 Web应用程序的发展历程 115
5.2 AJAX原理 118
5.2.1 AJAX基本技术 118
5.2.2 XMLHttpRequest对象 121
5.2.3 AJAX中的请求与响应 124
5.3 客户端与服务器通信的技术 131
5.3.1 XML 131
5.3.2 JSON 143
5.3.3 其他数据格式介绍 150
5.4 AJAX的跨域问题 152
5.4.1 引入跨域问题 152
5.4.2 解决跨域访问的方法 153
第6章 XML技术 158
6.1 XML的基础知识 158
6.1.1 XML技术 158
6.1.2 XML定义 159
6.1.3 XML语法 160
6.1.4 DTD与XML Schema 162
6.2 XML的解析 171
6.2.1 DOM介绍 171
6.2.2 SAX 176
6.2.3 JDOM 185
第7章 在Struts和Struts 2中使用AJAX 191
7.1 重构老的Struts系统,增加AJAX功能 191
7.2 为基于Struts 2的应用系统增加AJAX功能 200
7.2.1 Struts 2基本AJAX标签介绍 200
7.2.2 使用Struts 2标签开发AJAX应用 202
第8章 AJAX框架——Echo2 207
8.1 Echo2简介 207
8.1.1 ApplicationInstance 207
8.1.2 WebContainerServlet 208
8.1.3 组件 208
8.1.4 属性、样式及样式表 209
8.1.5 组件层次结构 209
8.1.6 事件驱动 209
8.2 第一个Echo2项目 210
8.3 Echo2的基础类 215
8.3.1 对齐 215
8.3.2 颜色 215
8.3.3 范围 216
8.3.4 边框 216
8.3.5 图片引用 216
8.3.6 图片填充 217
8.3.7 字体 217
8.3.8 边界区域 217
8.3.9 样式和样式表 217
8.4 Echo2常见组件介绍 217
8.4.1 组件 218
8.4.2 抽象按钮组件 219
8.4.3 按钮 220
8.4.4 双态按钮 220
8.4.5 复选按钮 220
8.4.6 单选按钮 220
8.4.7 抽象列表组件 221
8.4.8 列表框 221
8.4.9 下拉列表框 222
8.4.10 标签 222
8.4.11 表格 222
8.4.12 文本组件 223
8.4.13 布局容器组件 223
8.4.14 面板组件 224
8.5 EchoPointNG常用组件介绍 225
8.5.1 自动完成文本框 226
8.5.2 扩展按钮 226
8.5.3 计算器 228
8.5.4 复合框 229
8.5.5 日期选择器 229
8.5.6 直接HTML 230
8.5.7 可编辑的标签 231
8.5.8 可扩展区 233
8.5.9 分组框 235
8.5.10 Http面板 237
8.5.11 图片图标框 237
8.5.12 图片地图 239
8.5.13 菜单 242
8.5.14 本地窗口 244
8.5.15 进度条 246
8.5.16 按钮 248
8.5.17 悬浮帮助提示 250
8.5.18 富文本框 252
8.5.19 分隔条 256
8.5.20 滑动条 259
8.5.21 占位组件 261
8.5.22 多页面板 263
8.5.23 模板面板 266
8.5.24 树 268
8.6 Echo2高级应用 272
8.6.1 ListBox的渲染器 272
8.6.2 TableEx的基本使用 277
8.6.3 TableEx的单元格渲染器 278
8.6.4 命令对象 280
8.6.5 服务器推技术 286
8.6.6 快捷键 287
8.7 文件的上传下载 289
8.7.1 上传组件 289
8.7.2 文件下载 293
第2部分 开发案例 301
第9章 案例框架搭建 301
9.1 系统入口 301
9.2 类库与工具类 308
9.2.1 枚举异常 308
9.2.2 服务定位器 314
9.2.3 资源加载器 316
9.2.4 客户端信息提供者 319
9.2.5 下载提供者 322
9.2.6 文件打开对话框 326
9.2.7 带“确定/取消”按钮的对话框基类 328
9.3 数据持久化 332
9.3.1 数据库的选择 333
9.3.2 持久化框架的选择 334
9.3.3 持久层的开发 335
9.3.4 持久层开发实例 336
第10章 WebOS功能模块开发 341
10.1 登录模块 341
10.1.1 用户实体的建模 341
10.1.2 密码的保存 343
10.1.3 用户DAO的实现 344
10.1.4 登录窗口界面的实现 349
10.1.5 注册窗口界面的实现 353
10.1.6 登录屏幕的实现 358
10.2 桌面 358
10.3 网络相册 369
10.4 爱墙系统 376
10.4.1 爱墙的持久化 376
10.4.2 爱墙项目 381
10.4.3 爱墙主窗口 383
10.5 网络Office 388
10.5.1 Java中读取Excel 388
10.5.2 在线Excel 389
10.5.3 在线网页编辑器 394
10.6 系统配置与机场查询 400
10.6.1 系统配置 400
10.6.2 机场查询 407
10.7 网络硬盘 411
10.7.1 目录树节点渲染器 411
10.7.2 主干代码 417
参考文献 438