实战STRUTSPDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:(美)Ted Husted等著;黄若波,程峰,程繁科译
- 出 版 社:北京:机械工业出版社
- 出版年份:2005
- ISBN:7111162811
- 页数:464 页
目录 1
序言 1
前言 1
关于本书 1
第一部分 Struts起步 1
第1章 概述 1
1.1 本书的目的 1
1.1.1 Struts的开发人员 1
1.1.2 为什么说Struts是开源软件 2
1.1.3 为什么被称为Struts 2
1.2 应用程序框架的概念 2
1.3 必备知识 3
1.3.1 HTTP 3
1.3.2 通用网关接口 4
1.3.3 Java servlet 5
1.3.4 JSP 6
1.3.5 JSP标签 7
1.3.6 JavaBean 8
1.3.7 Model 2 9
1.4 Struts概述 9
1.4.1 构造一个简单的应用程序 11
1.4.2 准备工作 11
1.4.3 如何完成整个练习 12
1.4.4 回顾 17
1.5 总结 20
第2章 研究Struts体系结构 21
2.1 言众人所言 21
2.2 为什么使用Struts 21
2.2.1 历史的回顾 21
2.2.3 Struts控制层 22
2.2.2 Struts介绍 22
2.2.4 使用Struts开发Web应用程序 26
2.3 为什么需要框架结构 26
2.3.1 Web——麻烦的源头 26
2.3.2 servlet解决方案 27
2.3.3 Servlet框架结构 28
2.3.4 黑盒和白盒系列 29
2.4 Struts、Model 2和MVC 29
2.4.1 MVC的演变 29
2.4.2 Model 2的产生 30
2.4.3 应用程序层——独立的视图层 31
2.4.4 Struts如何实现Model 2、MVC和分层 32
2.5 Struts控制流 33
2.5.1 流程概述 33
2.5.2 更微小的细节 35
2.5.3 Struts的性能 37
2.6 Struts的强项和弱点 38
2.6.1 Struts的缺点 38
2.6.2 Struts的优点 40
2.7 总结 41
第3章 构造一个简单的应用程序 42
3.1 从基础了解Struts 42
3.2 简述登录应用程序的流程 43
3.2.1 起步 43
3.2.2 将会使用的页面 43
3.2.3 欢迎页面 44
3.2.4 登录页面 44
3.2.5 再次进入欢迎页面 45
3.2.6 退出欢迎页面 45
3.2.7 特性摘要 45
3.3.1 浏览器中欢迎页面的代码 46
3.3 解剖登录应用程序 46
3.3.2 欢迎页面的JSP源代码 47
3.3.3 欢迎页面的配置信息 49
3.3.4 浏览器中登录页面的代码 50
3.3.5 登录页面对应的配置部分 52
3.3.6 LogonSubmit的源代码 52
3.3.7 LogonForm的源代码 53
3.3.8 LogonAction的源代码 55
3.3.9 LogoffAction的源代码 60
3.4 构造一个应用程序 62
3.4.1 定义需求 62
3.4.2 计划应用程序 63
3.4.3 计划源代码树结构 65
3.4.4 安装自己的开发工具 65
3.4.6 建立web.xml文件 66
3 4 5 建立build xml文件 66
3.4.7 建立struts-config.xml文件 67
3.4.8 测试部署 68
3.4.9 构造我们的欢迎页面 69
3.4.10 构造登录页面 70
3.4.11 构造常量类 71
3.4.12 构造其他的类 72
3.4.13 创建用户目录 72
3.4.14 配置ActionErrors 73
3.4.15 编译和测试登录页面 73
3.4.16 修改欢迎页面 74
3.4.17 Struts的Action:Forward-Action 75
3.5 总结 76
第4章 配置Struts组件 77
4.1 三个XML文件和一个属性文件 77
4.2.1 web.xml文件 78
4.2 Web应用程序部署描述文件 78
4.2.2 ActionServlet的参数 80
4.3 Struts配置 81
4.3.1 细节 82
4.3.2 管理修改 83
4.3.3 原则:隐藏变化 83
4.4 Struts配置元素 84
4.4.1 〈global-exceptions〉 85
4.4.2 〈form-beans〉 86
4.4.3 〈global-forwards〉 87
4.4.4 〈action-mappings〉 88
4.4.5 〈controller〉 89
4.4.6 〈message-resources〉 90
4.4.7 〈plug-in〉 90
4.4.8 〈data-sources〉 91
4.4.10 Struts配置文件的一个框架 92
4.4.9 编写自己的子类 92
4.5 应用程序的资源文件 94
4.6 Ant文件 95
4.7 配置Struts的核心 97
4.7.1 安装Java和Servlet容器 97
4.7.2 安装一个开发环境 98
4.7.3 安装Struts的核心文件 98
4.8 配置Tiles框架结构 98
4.9 配置Struts Validator 99
4.10 使用Struts空白应用程序 100
4.11 配置模块化的应用程序 102
4.11.1 分而治之 102
4.11.2 前缀化页面 104
4.11.3 更新配置文件 104
4.12 共享Struts的JAR文件 104
4.13 总结 105
第二部分 提出自己的框架结构 107
第5章 处理ActionForm 107
5.1 输入垃圾,输出珠宝 107
5.2 多面手ActionForm 110
5.2.1 使用ActionForm来填充自己的域 110
5.2.2 使用ActionForm作为数据缓存 111
5.2.3 使用ActionForm作为数据校验器 112
5.2.4 使用ActionForm作为类型转换器 112
5.2.5 使用ActionForm作为数据传递对象 112
5.2.6 使用ActionForm作为防火墙 113
5.3 ActionForm的设计结果 114
5.3.1 ActionForm可能和业务逻辑层对象共享名字 114
5.3.2 ActionForm可能减少定制的代码量 114
其他bean 115
5.3.4 ActionForm可以内含 115
5.3.3 ActionForm可以封装辅助函数 115
5.4 ActionForm的其他类型 116
5.4.1 Map-backed ActionForm 116
5.4.2 DynaActtinForm 117
5.5 哪些情况下不使用ActionForm 118
5.5.1 为什么ActionForm不是一个Map对象 118
5.5.2 为什么ActionForm不是一个简单的JavaBcan 118
5.5.3 为什么ActionForm不是一个接口 119
5.6 使用ActionForm 119
5.6.1 实现业务层逻辑 120
5 6.2 内含可改变的数据对象 121
5.6.3 设置不可改变数据对象 122
5.6.4 设置可改变的数据对象 123
5.6.5 使用工厂方法 123
5.6.6 传递一个Map对象 124
5.6.7 通过反射传递数据 126
5.6.8 使用接口类 130
5.7 BaseForm 131
5.7.1 SessionLocale 131
5.7.2 Dispatch 132
5.7.3 自动填充 132
5.7.4 BaseMapForm 132
5.8 总结 133
第6章 使用ActionForward对象 134
6.1 ActionForward的功能 134
6.2 ActionForward如何工作 135
6.3 本地转发和全局转发 136
6.4 运行时刻参数 137
6.4.1 在页面中增加参数 137
6.6 导航条内容不变的原因 138
6.5 动态转发 138
6.4.2 在Action类中添加参数 138
6.7 编写自己的ActionForward 139
6.8 总结 140
第7章 ActionMapping的设计 141
7.1 了解ActionMapping 141
7.1.1 ActionMapping bean 142
7.1.2 ActionMapping目录 142
7.2 ActionMapping属性 143
7.2.1 path属性 143
7.2.2 forward属性 144
7.2.3 include属性 144
7.2.4 type属性 144
7.2.5 className属性 144
7.2.10 input属性 145
7.2.9 validate属性 145
7.2.8 scope属性 145
7.2.7 roles属性 145
7.2.6 name属性 145
7.2.11 parameter属性 146
7.2.12 attribute属性 147
7.2.13 prefix和suffix属性 147
7.2.14 unknown属性 147
7.3 内部组件 148
7.3.1 本地转发 148
7.3.2 本地异常 148
7.4 编写自己的ActionMapping 148
7.5 总结 149
第8章 使用Action对象 150
8.1 准备,设定,行动 150
8.2 使用Action对象 150
8.2.1 Action是什么 151
8.2.2 何时调用Action 152
8.2.3 Action可以做什么 153
8.2.4 Action到底是什么 157
8.3 标准的Action 158
8.3.1 标准的桥接Action 159
8.3.2 标准的基本Action 161
8.4 级联Action 165
8.5 Scaffold Action 167
8.5.1 仅仅和转发相关的Action 167
8.5.2 辅助Action 172
8.6 基本的View Action 174
8.7 辅助Action类使用的技术 175
8.7.1 可选择的转发 176
8.7.2 先调用 177
8.7.3 捕获级联的异常 177
8.7.4 灵活的错误信息转发 179
8.7.6 可变换的视图 180
8.7.5 提示成功消息 180
8.7.7 使用反射技术来调用方法 181
8.7.8 使用反射来调用类 181
8.8 使用灵活转发 182
8.9 总结 186
第9章 扩展ActionServlet 187
9 1 ActionServlet的地位 187
9.2 RequestProcessor 189
9.2.1 process方法 190
9.2.2 processRoles 190
9.3 ExceptionHandler 192
9.4 插件 193
9.5 总结 193
10.1 标签——就是你 195
10.1.1 JSP标签库——有什么优点 195
第三部分 构造自己的页面 195
第10章 显示动态内容 195
10.1.2 Struts和JSTL 198
10.1.3 Struts标签库和MVC 199
10.2 使用扩展标签库 200
10.2.1 扩展标签是如何工作的 200
10.2.2 如何安装扩展标签 202
10.2.3 扩展标签库不是什么 203
10.3 Struts标签库 204
10.3.1 Struts标签库的常用功能 205
10.3.2 bean标签 206
10.3.3 html标签 208
10.3.4 logic标签 210
10.4.2 基础 213
10.4 使用Struts标签 213
10.4.1 Struts的标签 213
10.4.3 技术 220
10.4.4 可用的控件 231
10.5 不同的视图 232
10.5.1 Struts和JSP 232
10.5.2 servlet上下文 232
10.5.3 除了JSP以外 233
10.6 总结 233
第11章 使用Tiles开发应用 235
11.1 管理布局 235
11.1.1 用动态模板进行分层 235
11.1.2 运用模板的结果 236
11.1.3 使用模板 236
11.1.4 集成模板、Tiles和Struts 237
11.2 创建一个layout模板 238
11.2.1 tile是什么 240
11.2.2 部署Tiles模板 241
11.2.3 添加样式表 242
11.2.4 模板和MVC 243
11.3 Tiles Definition 243
11.3.1 声明Definition 243
11.3.2 JSP声明 244
11.3.3 配置文件声明 247
11.3.4 把Definition作为ActionForward 249
11.4 Tile属性 250
11.4.1 useAttribute 250
11.4.2 importAttribute 251
11.4.3 put 251
11.5.1 设置Tiles框架 253
11.5 把一个应用程序转化为Tiles 253
11.4.4 putList和add 253
11.5.2 测试默认配置 254
11.5.3 浏览页面 254
11.5.4 使用〈tiles:insert〉重构页面 256
11.5.5 把〈tiles:insert〉标签析取到Definition中 262
11.5.6 模式化基础layout 265
11.5.7 把Definition精练为基础类和扩展类 266
11.5.8 形成例程 267
11.5.9 对移植的管理 267
11.6 总结 268
第12章 验证用户输入 270
12.1 只有看见时我才知道 270
12.1.1 我们不能拒绝的输入 270
12.1.2 Web层的校验 271
12.1.3 使用校验器的结果 272
12.2 Struts Validator简述 273
12.3 基本校验器 280
12.3.1 required校验器 281
12.3.2 mask校验器 281
12.3.3 range校验器 282
12.3.4 maxLength校验器 283
12.3.5 minLength校验器 283
12.3.6 byte、short、integer、long、float和double校验器 283
12.3.7 date校验器 283
12.3.8 creditCard校验器 284
12.3.9 email校验器 284
12.4 资源包 284
12.4.1 默认的资源包 285
12.4.2 默认校验器消息 285
12.5 配置文件 286
12.4.3 定制化的校验器消息 286
12.6 校验器的JSP标签 287
12.7 ValidatorForm和Validator ActionForm 290
12.8 本地化的校验器 291
12.9 可插入的校验器 291
12.10 技术 292
12.10.1 多页面校验 293
12.10.2 取消按钮 293
12.10.3 定制化的消息 293
12.10.4 相关联域 294
12.10.5 联合使用校验器和validate方法 295
12.11 移植应用程序到Struts Validator 296
12.11.1 安装配置Validator框架结构 296
12.11.3 回顾你的校验方法 297
12.11.2 测试默认的配置 297
12.11.4 扩展ValidatorForm或者Scaffold BaseForm 298
12.11.5 选择一个校验器来进行移植工作 298
12.11.6 添加formset、form和field元素 299
12.11.7 在ApplicationResources中添加新的选项 300
12.11.8 调用Struts校验器 301
12.11.9 测试和重复 301
12.11.10 删除ActionForm子类 302
12.12 总结 303
第13章 内容本地化 305
13.1 用另外一个名字 305
13.1.1 为什么进行本地化 306
13.1.2 Java的国际化功能 306
13.2 Struts的国际化组件 310
13.2.1 Session中的Locale属性 310
13.2.3 默认的资源包 311
13.2.2 MessageResources 311
13.2.4 ActionErrors 313
13.2.5 ActionMessages 313
13.2.6 区域敏感的JSP标签 314
13.3 本地化Struts应用程序 318
13.3.1 允许本地化 318
13.3.2 使用框架结构Locale对象 319
13.3.3 将标签和消息存放在属性文件中 320
13.3.4 创建语言相关的属性文件 320
13.3 5 在可以本地化模块中指定恰当的键值 321
13.3.6 其他模块使用〈bean:message〉 321
13.4 本地化其他模块 321
13.4.1 本地化Struts Validator 321
13.4.2 本地化Tiles 322
13.4.3 本地化集合 322
13.5 总结 323
第14章 使用数据服务功能 325
14.1 起步 325
14.1.1 从层次的角度看JDBC 325
14.1.2 介绍数据服务 326
14.2 研究业务层 327
14.2.1 Struts——使用自己的模式 327
14.2.2 定义业务对象 327
14.2.3 设计业务对象 328
14.2.4 设计结果 329
14.2.5 混合业务方法和Action(不推荐) 329
14.2.6 一个简单的例子 330
14.3 在Struts中使用ProcessBeans和JDBC 330
14.3.1 介绍ProcessBean 331
14.3.2 作为数据传递对象的ProcessBean 332
14.3.3 填充ProcessBean 333
14 3.4 执行ProcessBean 333
14.3.5 访问数据服务 334
14.3.6 使用典型的流程 335
14.3.7 对业务行为进行编码 336
14.3.8 使用ProcessBean作为持久层 338
14.3.9 使用其他的持久层 338
14.4 使用result对象 339
14.5 使用辅助Action 340
14.6 使用Lucene 341
14.7 使用内容摘要 345
14.7.1 Digester和RSS 346
14.7.2 获取和生成数据 346
14.7.3 RSS摘要 347
14.8 在Struts中使用EJB 349
14.8.2 数据传递对象 350
14.8.3 实现模式 350
14.8.1 Session Facade 350
14.9 总结 351
第四部分 以实例介绍Struts 353
第15章 Artimus:实例研究 353
15.1 框架的框架 353
15.2 Scaffold——工具的产生 354
15.3 关于Artimus 354
15.4 部署描述文件(web.xml) 356
15.4.1 配置Artimus 357
15.4.2 应用程序的属性 357
15.4.3 连接适配器 358
15.4.4 启动属性 358
15.4.5 其他配置设定 358
15.4.6 安全设定 358
15.5 ArtimusServlet 359
15 4.9 鉴证策略 359
15.4.8 授权用户 359
15.4.7 受保护的URL 359
15 5.1 子类 361
15 5.2 串标志符 361
15.5.3 扩展点 361
15.6 应用程序与SQL属性文件 362
15.7 index.jsp 363
15.8 全局转发 363
15.9 /find/Recent 365
15.9.1 扩展bean 368
15.9.2 super.execute 368
15 9 3 getArticles 368
15.9.4 Access.findByLast与ResultList 368
15.9.5 ProcessResult 369
15.9.6 ProcessAction 370
15.10 tiles.xml与Article,jsp 371
15.10.1 useAttribute 373
15.10.2 baseStyle 373
15.10.3 标题 373
15.10.4 Tiles 373
15.11 result.jsp 375
15.11.1 图例 376
15.11.2 isResult 376
15.11.3 RESULT 377
15.12 article actions 380
15.13 view.jsp 382
15.13.1 headline 383
15.13.2 content 383
15.13.3 contributor 384
15.14 form.jsp 385
15.14.1 article content 386
15.14.3 article ID 387
15.14.4 validation 387
15.14.2 contributed/contributor 387
15.15 /do/Menu 389
15.15.1 logon 390
15.15.2 菜单 391
15.15.3 我们的控件 392
15.15.4 saveResult方法 392
15.15.5 我们的结果集 392
15.16 menu.jsp 393
15.16.1 /find/Hours 394
15.16.2 /menu/Find 395
15.16.3 /find/Last 396
15.16 4 /menu/Contributor 396
15.17 总结 397
15.16.5 /menu/Manager 397
第16章 Redux:迁移到Struts 1.1 398
16.1 下一步:Struts 1.1 398
16.1.1 Struts 1.1特征集 399
16.1.2 我们可使用的特征 401
16.2 改变基础 402
16.2.1 Struts 1.1中的Tiles 402
16.2.2 Struts 1.1中的Validator 405
16.2.3 Struts 1.1中的ReloadAction 406
16.2.4 对web.xml和struts-config.xml的其他变更 406
16.2.5 message.jsp(版本1.1) 406
16.2.6 form.jsp(版本1.1) 407
16.2.7 MenuCreate(版本1.1) 409
16.2.8 继续前进 409
16.3.1 DynaActionForm格式 410
16.3 可自由选择的修改 410
16.3.2 基于Action的安全机制 411
16.3.3 修改Action路径 413
16.3.4 Struts 1.1中的应用程序资源 414
16.4 总结 414
第17章 Velocity:替换JSP 416
17.1 转移到Velocity模板 416
17.2 变化导致了应用程序框架结构的出现 416
17.3 为什么需要Velocity 416
17.3.1 Velocity轻便、快捷而且通用 417
17.3.2 Velocity可以很好地与其他软件协作 417
17.3.3 Velocity简单但是功能强大 417
17.4 在Web应用程序中使用Velocity 418
17.4.1 将Velocity与servlet资源一起使用 418
17.4.2 联合使用Velocity和上下文属性 419
17.4.4 VelocityStruts工具包 420
17.4.3 Velocity如何与Struts协同工作 420
17.4.5 Struts View工具 421
17.5 我们的登录模板 421
17.6 建立VelocityViewServlet 424
17.6.1 安装VelocityViewServlet 424
17.6.2 部署Velocity servlet 424
17.6.3 工具箱配置文件 425
17.7 设置struts-config 426
17.8 总结 427
附录 429
附录A 设计模式 429
附录B Struts配置文件的API 435
附录C 标签库快速参考 446
术语表 450
参考文献 456
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《Python3从入门到实战》董洪伟 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《星空摄影后期实战》阿五在路上著 2020
- 《半小时漫画股票实战法》财经杂质著 2019
- 《深度学习与飞桨PaddlePaddle Fluid实战》于祥 2019
- 《数字插画实战 人像创作30例》王鲁光著 2019
- 《2017国家执业药师资格考试 全考点实战通关必备 中药学综合知识与技能 第3版》国家执业药师资格考试命题研究专家组 2017
- 《微软Azure实战参考》李竞,陈勇华编著 2019
- 《Cocos Creator微信小游戏开发实战》王绍明编著 2020
- 《断陷湖盆比较沉积学与油气储层》赵永胜等著 1996
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019