注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计JAVA及其相关WebWork in Action中文版

WebWork in Action中文版

WebWork in Action中文版

定 价:¥49.00

作 者: (美)Patrick Lightbody、Jason Carreira
出版社: 电子工业出版社
丛编项: Java开发专家
标 签: 暂缺

ISBN: 9787121032998 出版时间: 2006-11-01 包装: 平装
开本: 16 页数: 365 字数:  

内容简介

  本书是一本从头至尾都使用现实世界例子讲述有关编写Web应用程序的书籍。WebWork所强调的内容是:利用框架实现你的项目,而不是被框架所阻碍。在本书中,我们将从简单的表单及表单处理开始,逐一讲述编写Web应用程序的基础知识:action、interceptor和result,以及控制反转(IoC)模式、对象图导航语言(OGNL)和所有来自WebWork的实用JSP标签等。然后我们着眼于高级的特性,例如校验、数据类型转换、资源依赖、本地化(i18n)、Web应用组件的松耦合,以及大量应对Web开发中常见的挑战所需要的解决方案。本书是为那些厌烦了Web开发或者认为会存在更好的Web开发方式的开发人员准备的。我们希望读者对Java及常用的Java API(如Java Collections API)有基本的认识。由于WebWork的内容几乎都与Web相关,那么读者必须对HTML、JavaScript及CSS具有基本程度的认识。而实际上不管是开发新手还是富有经验的软件开发者,甚至是那些缺少Java基础技术背景的开发者都可以阅读本书,并且能够马上提高自己的开发效率。本书实例源代码可以从飞思在线和Manning出版社的网站下载。

作者简介

  本书提供作译者介绍Patrick Lightbody曾经在多家汀公司工作,其中既有思科系统公司这样的巨头,也有硅谷中刚刚起步的的小公司,而现在他领导着Jive软件公司的专业服务组织。在业余的时间里,他为多个OpenSymphony项目贡献自己的聪明才智。Patrick现在居住于美国俄勒冈州韵波特兰市。.Jason Carreira是一位开发人员,也是一位J2EE架构师,他一直致力于设计及构建企业财务软件产品。他现在供职于ePlus公司,开发新一代的eProcurement解决方案。他是OpenSymphony的XWork命令模式框架及WebWork MVC Web框...

图书目录

第1部分  WebWork简介
第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方式的HelloWorld    17
2.1  下载WebWork    18
2.2  准备骨架程序(skeleton)    18
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  你的第一个action    22
2.3.1  以WebWork的方式说hello    22
2.3.2  在浏览器上显示输出结果    23
2.3.3  配置你的新action    24
2.4  处理输入    25
2.5  高级控制流    27
2.6  让WebWork完成任务    29
2.6.1  充分利用ActionSupport    30
2.6.2   JSP的过渡性修改    31
2.6.3  探究UI标签库    31
2.7  小结    32
第3章  配置WebWork    33
3.1  配置action、result和interceptor    34
3.1.1  术语概述    34
3.1.2  action    35
3.1.3  result    39
3.1.4  interceptor    41
3.2  高级配置    45
3.2.1  xwork.xml的DTD    45
3.2.2  namespace和package    46
3.2.3  使用include标签实现组件化    49
3.3  其他配置文件    57
3.3.1  Web应用程序配置:web.xml    57
3.3.2  特性配置:webwork.properties    58
3.4  配置你的Web应用程序    60
3.4.1  大体的布局    61
3.4.2  必需的类库    61
3.4.3  可选的类库    61
3.5  小结    62
第2部分  核心概念
第4章  实现WebWork action    65
4.1  Action接口    66
4.1.1  result code    66
4.1.2  处理异常    67
4.2  使用ActionSupport基类    67
4.3  理解基本的校验    68
4.3.1  校验action:Validateable接口    68
4.3.2  显示错误信息:ValidationAware接口    69
4.4  使用本地化的文本信息    72
4.4.1  获取用户的locale:LocaleProvider    73
4.4.2  显示本地化文本:TextProvider    73
4.4.3  为其他语言提供文本信息    76
4.5  高级输入    76
4.5.1  中介对象    76
4.5.2  直接使用域对象    76
4.6  使用ModelDriven action    80
4.6.1  实现ModelDriven action    80
4.6.2  使用ModelDriven时需要考虑的问题    84
4.7  通过ActionContext访问数据    86
4.7.1  CaveatEmptor:访问Session    86
4.7.2  范例:访问request和response    88
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  使用预建的interceptor    97
5.2.1  工具(Utility)interceptor    98
5.2.2  设置参数    100
5.2.3  定义工作流    103
5.3  使用预建的interceptor栈    105
5.4  构建你自己的interceptor    107
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  分析这个模式    116
6.1.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  使用WebWork的IoC框架    126
6.3.1  配置    126
6.3.2  创建新的组件    129
6.3.3  对任意对象使用IoC    132
6.3.4  处理复杂的依赖    133
6.4  来自CaveatEmptor的一个例子    136
6.4.1  HibernateSessionFactory组件    136
6.4.2  PersistenceManager组件    138
6.4.3  配置组件    141
6.4.4  使用这个新的组件    142
6.5  其他的选择    142
6.5.1  IoC容器的其他选择    143
6.5.2  非IoC的其他选择    144
6.6  小结    145
第3部分  内容的显示
第7章  使用result    149
7.1  action之后的状态    150
7.1.1  简单的result    150
7.1.2  配置result    152
7.2  通用result    154
7.2.1  分发至页面    154
7.2.2  重定向至页面    159
7.2.3  链接至另一个action    161
7.3  其他result    165
7.3.1  直接将Velocity模板转换为字节流并输出    166
7.3.2  FreeMarker:Velocity之外的又一选择    170
7.3.3  使用JasperReports生成报表    171
7.4  小结    174
第8章  利用表达式语言获取数据    177
8.1  什么是表达式语言    178
8.1.1  为什么使用表达式语言    178
8.1.2  为什么使用OGNL    179
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.4  设置数值及表达式列表    184
8.2.5  访问静态方法和类变量    184
8.2.6  访问OGNL上下文及ActionContext    185
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  iterator标签    203
9.4.2  if标签和else标签    205
9.5  杂项标签    206
9.5.1  include标签    207
9.5.2  URL标签    207
9.5.3  i18n和text标签    209
9.5.4  param标签    211
9.6  小结    212
第10章  Velocity    213
10.1  介绍Velocity    214
10.1.1  什么是Velocity    214
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  VelocityContext    223
10.3.2  context中由WebWork提供的对象    224
10.3.3  自定义Velocity context    224
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  themes    241
11.2.3  标签属性    245
11.3  UI标签指南    246
11.3.1  通用属性    246
11.3.2  简单的标签    248
11.3.3  基于集合的标签    251
11.3.4  高级标签    256
11.4  小结    259
第4部分  高级话题
第12章  类型转换    263
12.1  为什么需要类型转换    264
12.1.1  Servlet规范    264
12.1.2  一个没有类型转换的action    265
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 interceptor    290
13.2.4  把所有的东西整合在一起    291
13.2.5  一些校验的XML示例    293
13.3  研究校验框架的高级特性    295
13.3.1  实现一个自定义的校验器    295
13.3.2  在不同的上下文中校验    298
13.3.3  短路校验    298
13.3.4  ExpressionValidator    299
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  编程设置locale    313
14.4.2  用类来实现ResourceBundle    314
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  搭建IDE    324
15.1.2  重新加载资源    326
15.2  单元测试action    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  使用TokenInterceptor    345
15.6.3  使用TokenSessionStoreInterceptor重新输出结果页面    346
15.7  自动显示等待页面    346
15.8  用单个action完成CRUD操作    349
15.8.1  用newCategory创建新的category    351
15.8.2  用viewCategory及editCategory读和更新实体数据    351
15.8.3  使用saveCategory保存Category    352
15.8.4  设置parentCategory属性    353
15.9  小结    354
附录A  WebWork架构    355
A.1  实现命令模式    356
A.1.1  基本命令模式特性    357
A.1.2  高级命令模式特性    357
A.2  action    358
A.3  interceptor    358
A.4  result    358
A.5  值栈    359
A.6  ActionProxy/ActionInvocation    359
A.7  ActionContext    361
A.8  Servlet分派器    364
A.9  小结    364

本目录推荐