图书介绍
WebWork in Action中文版PDF|Epub|txt|kindle电子书版本网盘下载
![WebWork in Action中文版](https://www.shukui.net/cover/9/30521950.jpg)
- (美)Patrick Lightbody,(美)Jason Carreira著;谭颖华,张云飞,唐勇译 著
- 出版社: 北京:电子工业出版社
- ISBN:7121032996
- 出版时间:2006
- 标注页数:365页
- 文件大小:31MB
- 文件页数:393页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
WebWork in Action中文版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1部分 WebWork简介3
第1章 WebWork的概貌3
1.1 为什么MVC是重要的5
1.1.1 经典MVC落伍了5
1.1.2 经典MVC模式的更新:前端控制器(Front Controller)6
1.1.3 MVC演化:页面控制器(Page Controller)7
1.2 理解框架和容器8
1.2.1 什么是框架8
1.2.2 容器能够做什么9
1.3 WebWork:过去、现在和未来11
1.3.1 WebWork的历史11
1.3.2 理解XWork的核心11
1.3.3 未来发展方向12
1.4 CaveatEmptor应用程序13
1.5 小结14
第2章 WebWork方式的HelloWorld17
2.2 准备骨架程序(skeleton)18
2.1 下载WebWork18
2.2.1 创建web.xml配置文件19
2.2.2 创建xwork.xml配置文件20
2.2.3 创建webwork.properties配置文件21
2.2.4 开发WebWork应用程序的小技巧21
2.3 你的第一个action22
2.3.1 以WebWork的方式说hello22
2.3.2 在浏览器上显示输出结果23
2.3.3 配置你的新action24
2.4 处理输入25
2.5 高级控制流27
2.6 让WebWork完成任务29
2.6.1 充分利用AcfionSupport30
2.6.2 JSP的过渡性修改31
2.6.3 探究UI标签库31
2.7 小结32
第3章 配置WebWork33
3.1 配置action、result和interceptor34
3.1.1 术语概述34
3.1.2 action35
3.1.3 result39
3.1.4 interceptor41
3.2 高级配置45
3.2.1 xwork.xml的DTD45
3.2.2 namespace和package46
3.2.3 使用include标签实现组件化49
3.3 其他配置文件57
3.3.1 Web应用程序配置:web.xml57
3.3.2 特性配置:webwork.properties58
3.4 配置你的Web应用程序60
3.4.1 大体的布局61
3.4.2 必需的类库61
3.4.3 可选的类库61
3.5 小结62
第2部分 核心概念65
第4章 实现WebWork action65
4.1 Action接口66
4.1.1 result code66
4.2 使用ActionSupport基类67
4.1.2 处理异常67
4.3 理解基本的校验68
4.3.1 校验action:Validateable接口68
4.3.2 显示错误信息:ValidationAware接口69
4.4 使用本地化的文本信息72
4.4.1 获取用户的locale:LocaleProvider73
4.4.2 显示本地化文本:TextProvider73
4.5.2 直接使用域对象76
4.5.1 中介对象76
4.5 高级输入76
4.4.3 为其他语言提供文本信息76
4.6 使用ModelDriven action80
4.6.1 实现ModelDriven action80
4.6.2 使用ModelDriven时需要考虑的问题84
4.7 通过ActionContext访问数据86
4.7.1 CaveatEmptor:访问Session86
4.7.2 范例:访问request和response88
4.8 处理文件上传90
4.8.1 通过request封装类访问上传文件91
4.8.2 自动化文件上传92
4.8.3 配置设定93
4.9 小结93
第5章 使用interceptor增加功能95
5.1 interceptor如何被调用96
5.2 使用预建的interceptor97
5.2.1 工具(Utility)interceptor98
5.2.2 设置参数100
5.2.3 定义工作流103
5.3 使用预建的interceptor栈105
5.4 构建你自己的interceptor107
5.4.1 使用AroundInterceptor作为基础108
5.4.2 关注一个自定义interceptor的范例109
5.4.3 通过PreResultListener在result执行之前获得回调控制111
5.4.4 注意interceptor间的交互113
5.5 interceptor vs.servlet筛选器113
5.6 小结114
第6章 控制反转115
6.1.1 用于管理活动资源的通用模式116
6.1 分析这个模式116
6.1.2 反向资源管理119
6.1.3 IoC如何有助于测试121
6.2 IoC的本质122
6.2.1 WebWork的IoC历史122
6.2.2 依赖(Dependencies)124
6.2.3 作用域和生命周期125
6.3.1 配置126
6.3 使用WebWork的IoC框架126
6.3.2 创建新的组件129
6.3.3 对任意对象使用IoC132
6.3.4 处理复杂的依赖133
6.4 来自CaveatEmptor的一个例子136
6.4.1 HibernateSessionFactory组件136
6.4.2 PersistenceManager组件138
6.4.3 配置组件141
6.5 其他的选择142
6.4.4 使用这个新的组件142
6.5.1 IoC容器的其他选择143
6.5.2 非IoC的其他选择144
6.6 小结145
第3部分 内容的显示149
第7章 使用result149
7.1 action之后的状态150
7.1.1 简单的result150
7.1.2 配置result152
7.2 通用result154
7.2.1 分发至页面154
7.2.2 重定向至页面159
7.2.3 链接至另一个action161
7.3 其他result165
7.3.1 直接将Velocity模板转换为字节流并输出166
7.3.2 FreeMarker:Velocity之外的又一选择170
7.3.3 使用JasperReports生成报表171
7.4 小结174
第8章 利用表达式语言获取数据177
8.1.1 为什么使用表达式语言178
8.1 什么是表达式语言178
8.1.2 为什么使用OGNL179
8.1.3 其他表达式语言180
8.1.4 OGNL的关键概念180
8.2 基本的表达式特性181
8.2.1 访问bean属性181
8.2.2 常量与操作符182
8.2.3 方法调用183
8.2.5 访问静态方法和类变量184
8.2.4 设置数值及表达式列表184
8.2.6 访问OGNL上下文及ActionContext185
8.3 操作集合(Collections)185
8.3.1 操作列表(list)和数组(array)186
8.3.2 操作图(map)186
8.3.3 对集合进行筛选(filtering)和投影(projecting)188
8.3.4 “#”的多种用途188
8.4 表达式语言的高级特性189
8.4.1 将值栈和表达式语言联系起来189
8.4.2 数据类型转换190
8.4.3 处理null属性的访问191
8.4.4 动态创建lambda表达式191
8.5 小结192
第9章 标签库193
9.1 起步194
9.2 WebWork标签总览195
9.3 数据标签197
9.3.1 property标签197
9.3.2 set标签198
9.3.3 push标签199
9.3.4 bean标签200
9.3.5 action标签201
9.4 控制标签203
9.4.1 iteratot标签203
9.4.2 if标签和else标签205
9.5 杂项标签206
9.5.2 URL标签207
9.5.1 include标签207
9.5.3 i18n和text标签209
9.5.4 param标签211
9.6 小结212
第10章 Velocity213
10.1 介绍Velocity214
10.1.1 什么是Velocity214
10.1.2 为使用Velocity做好准备215
10.2 基本语法和操作217
10.2.1 属性访问218
10.2.2 方法调用219
10.2.3 控制语句:if/else和循环219
10.2.4 变量赋值223
10.3 高级技术223
10.3.1 VelocityContext223
10.3.2 context中由WebWork提供的对象224
10.3.3 自定义Velocity context224
10.4 在Velocity中使用JSP标签225
10.5 Velocity模板的装载226
10.6 小结227
第11章 UI组件229
11.1 为什么要为UI标签费心230
11.1.1 解除痛苦230
11.1.2 不仅仅是表单元素237
11.2 UI标签概述240
11.2.1 模板240
11.2.2 themes241
11.2.3 标签属性245
11.3.1 通用属性246
11.3 UI标签指南246
11.3.2 简单的标签248
11.3.3 基于集合的标签251
11.3.4 高级标签256
11.4 小结259
第4部分 高级话题263
第12章 类型转换263
12.1 为什么需要类型转换264
12.1.1 Servlet规范264
12.1.2 一个没有类型转换的action265
12.1.3 一个没有类型转换的视图267
12.1.4 WebWork类型转换给你带来了什么268
12.2 配置269
12.2.1 类型转换器的角色270
12.2.2 全局类型转换器271
12.2.3 类级别的类型转换器271
12.3 简单类型转换272
12.3.1 基本类型转换272
12.3.2 内建类型转换273
12.3.3 处理null属性访问274
12.4 高级话题274
12.4.1 处理null集合访问274
12.4.2 处理转换错误277
12.4.3 一个整合了全部内容的例子277
12.5 小结279
第13章 校验表单数据281
13.1 手动校验数据283
13.1.1 在execute()方法里校验283
13.1.2 实现Validateable接口284
13.2 使用校验框架286
13.2.1 创建你的第一个*-validation.xml文件287
13.2.2 注册校验器288
13.2.3 设置validation interceptor290
13.2.4 把所有的东西整合在一起291
13.2.5 一些校验的XML示例293
13.3 研究校验框架的高级特性295
13.3.1 实现一个自定义的校验器295
13.3.3 短路校验298
13.3.2 在不同的上下文中校验298
13.3.4 ExpressionValidatot299
13.3.5 使用visitor字段校验器复用校验299
13.4 小结302
第14章 国际化303
14.1 快速浏览一个国际化的例子304
14.2 信息的来源305
14.2.1 理解资源包的搜索顺序306
14.2.2 添加默认的资源包307
14.2.3 〈ww:i18n〉标签308
14.3 使用国际化信息309
14.3.1 参数化本地化文字309
14.3.2 在taglib属性里使用getText()310
14.3.3 格式化日期和数字310
14.3.4 在校验里使用本地化信息311
14.3.5 为类型转换信息使用国际化字符串312
14.4 提示和技巧313
14.4.1 编程设置locale313
14.4.2 用类来实现ResourceBundle314
14.4.3 使用〈ww:param〉标签传递动态生成的文本给信息字符串317
14.4.4 在所有的地方设置编码319
14.4.5 对Java的PropertyResourceBundle的一个提示320
14.4.6 最后一个提示320
14.5 小结321
第15章 最佳实践323
15.1 搭建环境324
15.1.1 搭建IDE324
15.2 单元测试action326
15.1.2 重新加载资源326
15.2.1 使用mock对象327
15.2.2 Ioc高级测试328
15.2.3 处理静态变量和本地线程329
15.3 综合测试330
15.3.1 测试你的配置330
15.3.2 通过配置浏览器查看配置332
15.4 测试校验334
15.4.1 对编程校验的测试334
15.4.2 测试validation.xml文件334
15.5 高级UI标签的用法337
15.5.1 覆盖已有模板338
15.5.2 编写自定义模板340
15.5.3 编写默认主题342
15.6 使用表单标记(token)以防止重复提交343
15.6.1 应用〈ww:token〉标签344
15.6.2 使用TokenInterceptor345
15.7 自动显示等待页面346
15.6.3 使用TokenSessionStoreInterceptor重新输出结果页面346
15.8 用单个action完成CRUD操作349
15.8.1 用newCategory创建新的category351
15.8.2 用viewCategory及editCategory读和更新实体数据351
15.8.3 使用saveCategory保存Category352
15.8.4 设置parentCategory属性353
15.9 小结354
附录A WebWork架构355
A.1 实现命令模式356
A.1.2 高级命令模式特性357
A.1.1 基本命令模式特性357
A.2 action358
A.3 interceptor358
A.4 result358
A.5 值栈359
A.6 ActionProxy/ActionInvocation359
A.7 ActionContext361
A.8 Servlet分派器364
A.9 小结364