《深入浅出Struts》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(加)Budi Kurniawan著;王建桥,杨晓云,韩兰等译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2007
  • ISBN:711516407X
  • 页数:321 页
图书介绍:Struts是Java Web应用首选的MVC。本书是世界畅销的Struts著作,深入浅出地探讨了许多能帮助程序员们编写高效Struts应用程序的技巧,主要内容包括利用动作表单进行输入检查、HTML标签库、输入检查和数据转换、Validator插件、表达式语言、JSTL库、Bean标签库、Logic标签库、消息处理与国际化、Tiles框架等Struts功能,最后还从源代码层次阐述了Struts的工作原理。书中概念清晰,环环相扣,便于读者学习。本书适合希望使用Struts开发应用程序的读者阅读。

第1章 Model 2与Struts 1

1.1 传输对象 3

1.2 简单的Model 2应用程序 4

1.2.1 ProductTO类 6

1.2.2 ControllerServlet类 6

1.2.3 视图 8

1.2.4 部署描述文件 11

1.2.5 运行示例程序 11

1.3 视图管理器和动作管理器 11

1.4 Struts入门 14

1.4.1 Struts配置文件 14

1.4.2 Action、ActionForward和ActionMapping 16

1.4.3 编辑部署描述文件(web.xml文件) 17

1.5 Struts应用程序示例 18

1.5.1 部署描述文件和Struts配置文件 19

1.5.2 动作类 20

1.5.3 运行示例程序 21

1.6 Struts的MVC特性 21

1.7 小结 22

第2章 利用动作表单验证输入 23

2.1 动作表单概述 23

2.2 ActionForm类 25

2.3 使用动作表单 27

2.4 使用HTML标签库 34

2.4.1 重新显示表单里的值 37

2.4.2 出错处理 37

2.5 另一个示例程序 38

2.5.1 目录结构 39

2.5.2 Struts配置文件 39

2.5.3 动作类 40

2.5.4 JSP页面 42

2.5.5 运行app02c应用程序 43

2.6 多页表单 44

2.6.1 目录结构 45

2.6.2 Struts配置文件 45

2.6.3 动作表单 46

2.6.4 动作类 47

2.6.5 运行app02d应用程序 48

2.7 动态动作表单 48

2.7.1 目录结构 49

2.7.2 Struts配置文件 49

2.7.3 动作类 50

2.7.4 运行app02e应用程序 50

2.8 小结 51

第3章 HTML标签库 52

3.1 html标签 54

3.2 base标签 55

3.3 form标签 55

3.4 text、password、hidden、textarea标签 56

3.5 submit和cancel标签 60

3.6 reset标签 61

3.7 button标签 61

3.8 checkbox标签 61

3.9 multibox标签 62

3.10 radio标签 64

3.11 select标签 66

3.12 option标签 67

3.13 options标签 68

3.13.1 options标签的用法:与包含集合的对象配合使用 69

3.13.2 options标签的用法:与作用域集合配合使用 70

3.14 optionsCollection标签 71

3.14.1 optionsCollection标签的用法:与包含集合的对象配合使用 71

3.14.2 optionsCollection标签的用法:与集合配合使用 72

3.15 link标签 72

3.15.1 添加一个请求参数 74

3.15.2 添加多个请求参数 75

3.16 img标签 75

3.17 rewrite标签 77

3.18 frame标签 77

3.19 image标签 77

3.20 xhtml标签 78

3.21 小结 78

第4章 输入验证和数据转换 79

4.1 为动作表单的属性选择数据类型 79

4.2 输入验证和数据转换示例 80

4.3 使用BeanUtils类 87

4.4 提高数据转换的效率 89

4.5 小结 95

第5章 Validator插件 96

5.1 Validator插件的默认验证器 96

5.1.1 required验证器 97

5.1.2 minlength验证器 97

5.1.3 maxlength验证器 98

5.1.4 byte、short、integer、long、float、double验证器 98

5.1.5 intRange验证器 98

5.1.6 floatrange验证器 98

5.1.7 date验证器 98

5.1.8 mask验证器 98

5.1.9 email验证器 99

5.1.10 url验证器 99

5.1.11 creditCard验证器 99

5.1.12 validwhen验证器 99

5.2 使用Validator插件 100

5.2.1 编写动作表单 102

5.2.2 编写验证规则 103

5.2.3 运行app05a应用程序 104

5.3 验证文件 104

5.3.1 global元素及validator元素 106

5.3.2 formset元素及form子元素 106

5.3.3 向验证器传递参数 108

5.3.4 Validator的出错处理机制 109

5.4 使用客户端验证 110

5.5 使用DynaValidatorForm类 112

5.6 Validator与自定义验证的结合 112

5.7 声明基于动作的验证规则 114

5.8 编写自定义验证器 118

5.8.1 编写自定义验证器:MyCustomValidator类 119

5.8.2 注册自定义验证器 120

5.8.3 验证文件 121

5.8.4 注册Validator插件 121

5.8.5 运行app05f应用程序 122

5.9 支持客户端验证的自定义验证器 122

5.9.1 编写JavaScript函数 122

5.9.2 注册改进版的自定义验证器 124

5.9.3 JSP页面 124

5.9.4 运行app05g应用程序 125

5.10 使用validwhen验证器 125

5.11 小结 126

第6章 EL语言 127

6.1 EL语言的语法 127

6.1.1 EL语言中的保留字 128

6.1.2 []和.操作符 128

6.1.3 EL表达式求值规则 129

6.2 访问JavaBean 130

6.3 EL语言的隐含对象 130

6.3.1 pageContext对象 131

6.3.2 initParam对象 132

6.3.3 param对象 132

6.3.4 paramValues对象 132

6.3.5 header对象 132

6.3.6 headerValues对象 132

6.3.7 cookie对象 133

6.3.8 applicationScope、session-Scope、requestScope和pageScope对象 133

6.4 其他EL操作符 133

6.4.1 算术操作符 133

6.4.2 关系操作符 134

6.4.3 逻辑操作符 134

6.4.4 条件操作符 134

6.4.5 empty操作符 135

6.5 JSP 2.0中的EL语言 135

6.5.1 无脚本JSP页面 135

6.5.2 禁用EL求值 135

6.6 小结 137

第7章 JSTL 138

7.1 JSTL简介 138

7.2 通用动作 139

7.2.1 out标签 139

7.2.2 set标签 140

7.2.3 remove标签 142

7.3 条件动作 143

7.3.1 if标签 143

7.3.2 choose、when和otherwise标签 144

7.4 遍历动作 145

7.4.1 forEach标签 145

7.4.2 forTokens标签 147

7.5 格式化动作 148

7.5.1 formatNumber标签 148

7.5.2 formatDate标签 150

7.5.3 timeZone标签 151

7.5.4 setTimeZone标签 152

7.5.5 parseNumber标签 152

7.5.6 parseDate标签 153

7.6 函数 155

7.6.1 contains函数 155

7.6.2 containsIgnoreCase函数 155

7.6.3 endsWith函数 155

7.6.4 escapeXml函数 156

7.6.5 indexOf函数 156

7.6.6 join函数 156

7.6.7 length函数 156

7.6.8 replace函数 157

7.6.9 split函数 157

7.6.10 startWith函数 157

7.6.11 substring函数 157

7.6.12 substringAfter函数 158

7.6.13 substringBefore函数 158

7.6.14 toLowerCase函数 158

7.6.15 toUpperCase函数 158

7.6.16 trim函数 158

7.7 小结 159

第8章 Bean标签库 160

8.1 write标签 162

8.2 cookie标签 163

8.3 header标签 164

8.4 parameter标签 164

8.5 define标签 164

8.6 page标签 165

8.7 include标签 165

8.8 message标签 166

8.9 resource标签 167

8.10 size标签 167

8.11 struts标签 168

8.12 小结 168

第9章 Logic标签库 169

9.1 值比较标签 170

9.1.1 present和notPresent标签 171

9.1.2 equal、notEqual、lessThan、lessEqual、greaterThan和greaterEqual标签 171

9.2 子串匹配标签 171

9.3 表现定位标签 173

9.3.1 forward标签 173

9.3.2 redirect标签 173

9.4 集合处理标签 174

9.5 小结 176

第10章 Struts-EL标签库、Nested标签库和selectLabel标签 177

10.1 Struts-EL标签库 177

10.2 Nested标签库 179

10.3 selectLabel标签 182

10.4 小结 186

第11章 消息处理与国际化 187

11.1 在Struts中处理地区 187

11.2 注册属性文件 190

11.3 HTML标签库中的errors标签 190

11.4 HTML标签库中的messages标签 191

11.5 JSTL i18n标签库 192

11.5.1 setLocale标签 192

11.5.2 bundle标签 193

11.5.3 setBundle标签 193

11.5.4 message标签 194

11.5.5 param标签 195

11.5.6 requestEncoding标签 195

11.6 小结 195

第12章 Tiles框架 196

12.1 JSP包含的不足 197

12.2 初识Tiles 198

12.3 使用JSP定义文件 200

12.4 使用XML定义 201

12.5 XML定义的继承 204

12.6 Tiles标签库里的标签 205

12.6.1 add标签 206

12.6.2 definition标签 207

12.6.3 getAsString标签 207

12.6.4 importAttribute标签 207

12.6.5 insert标签 208

12.6.6 put标签 209

12.6.7 putList标签 209

12.6.8 useAttribute标签 210

12.7 编写XML格式的Tiles定义文件 210

12.7.1 tiles-definition元素 211

12.7.2 definition元素 211

12.7.3 put元素 211

12.7.4 putList元素 212

12.7.5 add元素 212

12.7.6 bean元素 212

12.7.7 item元素 213

12.7.8 set-property元素 213

12.8 小结 213

第13章 Struts应用程序的安全性 214

13.1 用户和角色 214

13.2 编写安全策略 215

13.2.1 保护资源 215

13.2.2 指定登录方法 216

13.3 身份验证方法 217

13.3.1 使用基本身份验证方法 218

13.3.2 使用基于表单的身份验证方法 218

13.4 隐藏资源 220

13.5 Struts安全配置 221

13.6 以编程方式提高安全性 222

13.6.1 getAuthType方法 222

13.6.2 isUserInRole方法 222

13.6.3 getUserPrincipal方法 223

13.6.4 getRemoteUser方法 223

13.7 小结 223

第14章 Config对象 224

14.1 使用web.xml文件或属性文件 224

14.2 Config对象 225

14.2.1 Singleton模式简介 225

14.2.2 实现Singleton Config对象 226

14.2.3 运行app14a应用程序 230

14.3 小结 230

第15章 持久层 231

15.1 DAO模式 232

15.1.1 DAO模式的最简单实现 232

15.1.2 使用DAO接口的DAO模式 232

15.1.3 使用Abstract Factory模式的DAO模式 233

15.2 实现DAO模式 234

15.2.1 DAO接口和DAOBase类 234

15.2.2 Config类 237

15.2.3 CustomerDAO接口 238

15.2.4 CustomerDAOMySQLImpl类 239

15.2.5 DAOFactory类 244

15.2.6 客户组件 245

15.2.7 运行app15a应用程序 245

15.3 复杂的数据结构 246

15.4 Hibernate 247

15.5 小结 247

第16章 对象缓存 248

16.1 实现缓存 248

16.2 小结 250

第17章 文件的上传与下载 251

17.1 文件上传 251

17.1.1 文件上传概述 251

17.1.2 Struts中的文件上传 252

17.2 文件下载 256

17.3 小结 261

第18章 分页与排序 262

18.1 大数据集/超大数据集 262

18.2 Display标签库简介 263

18.2.1 table标签 264

18.2.2 column标签 265

18.2.3 setProperty标签 265

18.3 处理大数据集 266

18.4 处理超大数据集 269

18.4.1 searchCustomers方法 270

18.4.2 CustomerSearchCriteria-Form动作表单 272

18.4.3 SearchCustomerAction类 273

18.4.4 displaySearchCustomer-Form.jsp页面 276

18.4.5 运行app18b应用程序 278

18.5 小结 279

第19章 防止重复提交 280

19.1 Struts中的标记管理 280

19.2 使用标记 281

19.3 小结 283

第20章 早期会话验证 284

20.1 在Struts应用程序中让HttpSession对象失效 284

20.2 让HttpSession对象尽早失效 285

20.3 小结 287

第21章 装饰HttpServletRequest对象 288

21.1 Decorator模式 288

21.2 去空格过滤器 290

21.3 小结 292

第22章 Struts的工作原理 293

22.1 动作servlet 293

22.2 创建ModuleConfig对象 295

22.3 请求处理器 298

22.3.1 processMultipart方法 299

22.3.2 processPath方法 300

22.3.3 processLocale方法 301

22.3.4 processContent方法 302

22.3.5 processNoCache方法 302

22.3.6 processPreprocess方法 302

22.3.7 processCachedMessages方法 303

22.3.8 processMapping方法 303

22.3.9 processRoles方法 305

22.3.10 processActionForm方法 305

22.3.11 processPopulate方法 306

22.3.12 processValidate方法 307

22.3.13 processForward方法 308

22.3.14 processInclude方法 309

22.3.15 processActionCreate方法 309

22.3.16 processActionPerform方法 310

22.3.17 processForwardConfig方法 311

22.4 小结 312

附录A Struts配置 313