《Struts 2开发从基础到应用》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:马向林等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302322269
  • 页数:394 页
图书介绍:本书由浅入深、循序渐进地介绍了使用Struts 2框架进行Web应用开发的基本原理和方法,主要内容包括Struts 2配置文件的详细讲解、框架结构、框架核心、Struts 2强大的标签库、数据输入校验、Struts 2中文件的上传与下载、数据类型转换、国际化与异常处理。在本书的后半部分还介绍了Struts 2对Ajax的支持、Struts 2与流行框架的整合,包括Hibernate、Spring、JSF、JFreeChart等。

第1章 Struts 2概述 1

1.1 MVC思想概述 1

1.1.1 MVC设计模式 1

1.1.2 MVC的优点 3

1.1.3 Model 1和Model 2开发模式 3

1.2 Struts 2体系介绍 4

1.2.1 核心控制器 4

1.2.2 业务处理器Action 5

1.2.3 Struts 2配置文件 5

1.2.4 Struts 2的控制器组件 6

1.2.5 Struts 2的标签库 7

1.3 搭建Struts 2开发环境 8

1.3.1 安装配置JDK 8

1.3.2 下载安装Tomcat 9

1.3.3 下载安装Struts 2 10

1.3.4 使用MyEclipse开发工具 11

1.4 Struts 2应用示例 13

1.4.1 配置web.xml文件 13

1.4.2 Action业务控制器 14

1.4.3 struts.xml配置文件 14

1.4.4 添加视图文件完成应用 15

1.4.5 运行实例 15

1.5 在Struts 2中使用POJO 16

1.6 项目案例:编写简单的登录验证系统 18

1.7 习题 19

1.8 实践疑难解答 20

1.8.1 Struts 2接收日期格式赋值错误 20

1.8.2 关于Struts 2标签的一个问题 21

第2章 Struts 2配置详解 22

2.1 Struts 2的配置文件 22

2.1.1 web.xml 22

2.1.2 struts.xml 23

2.1.3 struts-default.xml 26

2.1.4 struts.properties 27

2.1.5 静态内容 30

2.2 struts.xml配置详解 30

2.2.1 Bean配置 31

2.2.2 常量配置 32

2.2.3 包配置 33

2.2.4 命名空间配置 34

2.2.5 包含配置 35

2.2.6 拦截器配置 36

2.3 配置Action 37

2.3.1 实现Action类 37

2.3.2 Action间接访问Servlet API 39

2.3.3 Action直接访问Servlet API 41

2.3.4 配置Action 43

2.3.5 动态方法调用 43

2.3.6 为Action元素指定method属性 45

2.3.7 使用通配符映射 46

2.3.8 默认Action 46

2.4 配置Result 47

2.4.1 结果映射 47

2.4.2 结果类型 48

2.4.3 dispatcher结果类型 49

2.4.4 redirect结果类型 50

2.4.5 redirectAction结果类型 51

2.4.6 chain结果类型 51

2.4.7 plainText结果类型 52

2.4.8 通配符动态配置Result 52

2.4.9 OGNL动态配置Result 52

2.5 使用注解配置Action 53

2.5.1 与Action配置相关的注解 53

2.5.2 使用注解配置Action的注意事项 54

2.6 项目案例:实现用户的注册功能 55

2.7 习题 57

2.8 实践疑难解答 58

2.8.1 通配符的使用效率 58

2.8.2 配置struts.xml文件时,class路径错误 59

第3章 Struts 2的拦截器 60

3.1 拦截器简介 60

3.2 Struts 2拦截器 61

3.2.1 配置拦截器 61

3.2.2 使用拦截器 64

3.2.3 默认拦截器 64

3.3 自定义拦截器 66

3.3.1 自定义拦截器类 66

3.3.2 使用自定义拦截器 67

3.4 深入拦截器 70

3.4.1 方法过滤 70

3.4.2 拦截器的执行顺序 74

3.4.3 拦截结果监听器 75

3.4.4 覆盖拦截器栈中拦截器参数 76

3.5 Struts 2框架的系统拦截器 78

3.5.1 系统拦截器 78

3.5.2 timer拦截器实例 81

3.6 项目案例:实现文字过滤功能 82

3.7 习题 85

3.8 实践疑难解答 87

3.8.1 为什么要用拦截器的问题 87

3.8.2 设置默认拦截器的问题 87

3.8.3 Action方法的执行和拦截器关系的问题 88

3.8.4 拦截器的错误信息如何显示在页面上 88

第4章 类型转换 90

4.1 传统的类型转换 90

4.2 类型转换器 91

4.2.1 类型转换器介绍 91

4.2.2 编写类型转换器 91

4.3 自定义类型转换器 93

4.3.1 基于OGNL的类型转换器 93

4.3.2 基于Struts 2的类型转换器 94

4.3.3 注册自定义类型转换器 95

4.3.4 数组属性类型转换器 96

4.3.5 集合属性类型转换器 97

4.4 使用Struts 2的类型转换 99

4.4.1 Struts 2系统内建的类型转换器 99

4.4.2 null属性的处理 99

4.4.3 使用OGNL表达式 100

4.4.4 使用集合类型属性 101

4.4.5 使用Set类型属性 103

4.5 类型转换中的异常处理 104

4.5.1 类型转换异常拦截器 104

4.5.2 改进类型转换异常显示信息 105

4.5.3 处理复合类型转换异常 105

4.6 项目案例:使用List属性同时处理多条注册数据 106

4.7 习题 108

4.8 实践疑难解答 110

4.8.1 Struts 2 Date类型转换问题 110

4.8.2 Struts 2的自动类型转换出错 111

第5章 Struts 2的输入校验 113

5.1 输入校验概述 113

5.1.1 输入校验的必要性 113

5.1.2 客户端和服务器端校验 114

5.2 使用validate进行输入校验 116

5.2.1 validate()方法输入校验 116

5.2.2 validateXxx()方法输入校验 117

5.2.3 Struts 2的输入校验流程 119

5.3 基本输入校验 120

5.3.1 定义校验规则 120

5.3.2 校验器配置风格 123

5.3.3 输入校验的国际化信息 124

5.3.4 校验的搜索顺序 127

5.4 Struts 2框架的校验器 128

5.4.1 必填校验器 128

5.4.2 必填字符串校验器 129

5.4.3 字符串长度校验器 130

5.4.4 整数校验器 131

5.4.5 日期校验器 133

5.4.6 转换校验器 134

5.4.7 邮件地址校验器 135

5.4.8 网址校验器 135

5.4.9 表达式校验器 135

5.4.10 字段表达式校验器 136

5.4.11 正则表达式校验器 137

5.4.12 visitor校验器 137

5.5 自定义校验器 138

5.6 项目案例:学生信息录入 140

5.7 习题 143

5.8 实践疑难解答 144

5.8.1 使用转换校验器抛出异常 144

5.8.2 Struts 2如何显示验证出错信息 144

5.8.3 Struts 2中校验方法的使用 145

第6章 Struts 2国际化与异常处理 146

6.1 Java国际化 146

6.1.1 Java对国际化的支持 146

6.1.2 Java支持的语言和区域 148

6.1.3 使用资源文件 149

6.1.4 使用类文件代替资源文件 150

6.1.5 MessageFormat类 151

6.2 Struts 2国际化 151

6.2.1 Struts 2对国际化的支持 152

6.2.2 使用占位符 155

6.2.3 包范围资源文件 157

6.2.4 Action范围资源文件 159

6.2.5 临时资源文件 159

6.2.6 加载资源文件的顺序 160

6.3 动态访问国际化资源文件 161

6.4 Struts 2异常处理 164

6.4.1 传统异常处理方式 164

6.4.2 Struts 2异常处理机制 165

6.4.3 配置异常处理 166

6.4.4 异常处理实例 166

6.5 项目案例:实现注册系统的国际化功能 168

6.6 习题 172

6.7 实践疑难解答 174

6.7.1 Struts 2国际化中文乱码解决问题 174

6.7.2 使用Struts 2国际化标签的错误问题 175

第7章 OGNL 177

7.1 OGNL基础 177

7.1.1 OGNL三要素 177

7.1.2 OGNL表达式 178

7.1.3 对集合的操作 180

7.2 lambda表达式 184

7.3 Struts 2的OGNL 187

7.4 项目案例:获取员工信息 191

7.5 习题 193

7.6 实践疑难解答 194

7.6.1 OGNL表达式问题 194

7.6.2 Struts 2的OGNL调用Action中的方法 194

7.6.3 #、%、$在页面表达式的区别 195

第8章 Struts 2标签库 196

8.1 Struts 2的标签库概述 196

8.1.1 标签库简介 196

8.1.2 Struts 2的标签分类 197

8.2 控制标签 198

8.2.1 if/elseif/else标签 198

8.2.2 iterator标签 198

8.2.3 append标签 199

8.2.4 generator标签 200

8.2.5 merge标签 201

8.2.6 subset标签 202

8.2.7 sort标签 203

8.3 数据标签 204

8.3.1 action标签 204

8.3.2 bean标签 206

8.3.3 date标签 207

8.3.4 debug标签 207

8.3.5 include标签 208

8.3.6 param标签 208

8.3.7 push标签 209

8.3.8 set标签 209

8.3.9 url标签 210

8.3.10 property标签 211

8.4 主题与模板 212

8.4.1 主题 212

8.4.2 模板 213

8.4.3 使用主题模板 213

8.5 表单标签 214

8.5.1 表单标签通用属性 214

8.5.2 checkboxlist标签 214

8.5.3 combobox标签 216

8.5.4 doubleselect标签 216

8.5.5 datetimepicker标签 217

8.5.6 head标签 218

8.5.7 file标签 219

8.5.8 hidden标签 219

8.5.9 select标签 220

8.5.10 radio标签 220

8.5.11 optgroup标签 221

8.5.12 textfield、password和textarea标签 222

8.5.13 token标签 222

8.5.14 updownselect标签 223

8.5.15 optiontransferselect标签 224

8.6 非表单标签 225

8.6.1 actionerror和actionmessage标签 225

8.6.2 component标签 226

8.6.3 tree和treenode标签 227

8.7 项目案例:编写一个用户注册页面 228

8.8 习题 229

8.9 实践疑难解答 231

8.9.1 表单标签hidden的使用问题 231

8.9.2 Struts 2〈s:iterator〉标签问题 231

第9章 Struts 2数据库应用 232

9.1 访问MySQL数据库 232

9.1.1 创建一个数据库 232

9.1.2 建立JDBC连接 233

9.2 使用Tomcat数据源 234

9.3 Struts 2数据分页 237

9.4 项目案例:商品的增删改查 242

9.4.1 通用模块的实现 242

9.4.2 添加商品 244

9.4.3 修改商品 246

9.4.4 删除商品 248

9.5 习题 250

9.6 实践疑难解答 251

9.6.1 MySQL自增列的设置问题 251

9.6.2 MySQL代码中关键字的大小写问题 251

9.6.3 MySQL中limit的用法 252

第10章 文件上传与下载 253

10.1 文件上传 253

10.1.1 基于表单的文件上传 253

10.1.2 手动上传 255

10.1.3 Struts 2对文件上传的支持 256

10.1.4 在Struts 2中实现文件上传 257

10.1.5 实现上传文件过滤 259

10.2 多个文件同时上传 262

10.2.1 使用数组同时上传多个文件 262

10.2.2 使用List同时上传多个文件 263

10.3 文件下载 265

10.3.1 使用Struts 2控制文件下载 265

10.3.2 下载权限控制 266

10.4 项目案例:实现多个文件的上传功能 267

10.5 习题 269

10.6 实践疑难解答 271

10.6.1 Struts 2文件上传类型问题 271

10.6.2 Struts 2判断上传文件大小问题 271

第11章 避免表单重复提交与等待页面 272

11.1 表单重复提交原因 272

11.2 Struts 2实现方式 272

11.2.1 使用token标签 273

11.2.2 使用tokenSession拦截器 275

11.3 显示等待页面 277

11.4 项目案例:编写简单的登录系统 279

11.5 习题 282

11.6 实践疑难解答 284

11.6.1 token标签的问题 284

11.6.2 tokenSession拦截器的问题 285

11.6.3 显示等待页面错误 285

第12章 整合Spring 287

12.1 Spring概述 287

12.1.1 Spring的起源及优点 287

12.1.2 Spring的核心 288

12.1.3 下载安装Spring 288

12.1.4 使用Spring的IoC容器 288

12.2 Struts 2整合Spring 290

12.2.1 整合原理 290

12.2.2 整合步骤 291

12.2.3 Struts 2整合Spring示例 291

12.3 项目案例:编写简单的登录验证系统 294

12.4 习题 296

12.5 实践疑难解答 297

12.5.1 访问Action时请求参数为null 297

12.5.2 Struts 2整合Spring概念不清楚 298

第13章 整合Hibernate 299

13.1 Hibernate简介 299

13.1.1 Hibernate的优缺点 299

13.1.2 Hibernate API简介 300

13.1.3 Hibernate核心接口 300

13.2 Struts 2整合Hibernate 301

13.2.1 下载安装Hibernate 301

13.2.2 Struts 2与Hibernate的整合方案 302

13.2.3 功能设计与数据库设计 303

13.2.4 Hibernate映射对象到数据库 303

13.2.5 hibernate.cfg.xml配置文件 304

13.2.6 构建SessionFactory 305

13.2.7 数据库操作DAO 306

13.2.8 业务控制Action 308

13.2.9 struts.xml配置文件 309

13.2.10 视图文件 310

13.3 习题 316

13.4 实践疑难解答 318

13.4.1 使用Hibernate更改指定属性 318

13.4.2 Hibernate中常用的主键生成策略有哪几种 319

13.4.3 Hibernate调用createQuery()方法的值的类型问题 320

第14章 整合其他框架技术 321

14.1 整合JSF 321

14.1.1 整合原理 321

14.1.2 整合步骤 322

14.1.3 整合实例 323

14.2 整合SiteMesh 327

14.2.1 SiteMesh简介 327

14.2.2 下载安装SiteMesh 328

14.2.3 SiteMesh的简单应用 328

14.2.4 更复杂的装饰器页面 330

14.2.5 Struts 2中使用SiteMesh 334

14.3 整合FreeMarker 339

14.3.1 FreeMarker简介 339

14.3.2 FreeMarker的简单应用 340

14.3.3 FreeMarker常用指令 341

14.3.4 Struts 2中使用FreeMarker 344

14.4 整合Tiles 348

14.4.1 Tiles简介 348

14.4.2 下载安装Tiles 349

14.4.3 Tiles的简单应用 349

14.4.4 Struts 2中使用Tiles 352

14.5 整合JFreeChart 356

14.5.1 JFreeChart简介 356

14.5.2 下载安装JFreeChart 356

14.5.3 JFreeChart的简单应用 357

14.5.4 Struts 2中使用JFreeChart 358

14.6 项目案例:开发在线投票系统 360

14.7 习题 363

14.8 实践疑难解答 364

14.8.1 JSF的配置问题 364

14.8.2 JAR文件的版本问题 365

第15章 人事管理系统 366

15.1 系统概述 366

15.1.1 需求分析 366

15.1.2 系统用例图 367

15.1.3 系统设计 367

15.2 数据库设计 368

15.3 搭建Struts 2+Spring+Hibernate开发环境 370

15.4 系统实现 376

15.4.1 通用模块的实现 376

15.4.2 部门管理 378

15.4.3 员工管理 384

15.4.4 招聘管理 391