《Struts 2+Spring 3+Hibernate框架技术精讲与整合案例》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:缪勇,施俊,李新锋编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302388005
  • 页数:762 页
图书介绍:本书基本知识部分涉及Eclipse开发平台、JSP、Servlet等知识。本书的重点是介绍当前流行的三个轻量级开源框架:Struts 2、Spring3和Hibernate,以及框架的整合案例开发。综合实例部分涉及三个S2SH整合的案例,各个案例均按功能分类,采用三层架构(数据访问层、业务逻辑层和视图层)进行精解,各层之间分层清晰,层与层之间以松耦合的方法组织在一起,便于读者理解每个功能的实现过程。

第一篇 环境搭建篇 3

第1章 建立开发环境 3

1.1 建立Java的环境 3

1.1.1 JDK的下载和安装 3

1.1.2 设定JAVA HOME、CLASSPATH和Path 4

1.1.3 验证JDK是否安装成功 5

1.2 建立Tomcat环境 5

1.2.1 Tomcat简介 6

1.2.2 Tomcat的下载 6

1.2.3 Tomcat的安装配置 7

1.2.4 验证Tomcat是否安装成功 7

1.2.5 Tomcat的目录结构 8

1.3 搭建Java Web开发环境 8

1.3.1 MyEclipse的下载和安装 9

1.3.2 在MyEclipse中配置环境 10

1.4 搭建MySQL数据库环境 13

1.4.1 MySQL概述 13

1.4.2 MySQL的下载 14

1.4.3 MySQL的安装与配置 15

1.4.4 SQLyog访问服务器 19

1.4.5 使用MySQL数据库 19

1.5 创建和发布Web应用程序 21

1.5.1 创建Web项目、设计项目目录结构 21

1.5.2 编写项目代码、部署和运行Web项目 22

1.6 小结 24

第二篇 Java Web基础篇 27

第2章 JSP技术 27

2.1 JSP技术简介 27

2.1.1 JSP技术的特征 27

2.1.2 JSP技术的原理 28

2.1.3 JSP程序的执行过程 29

2.2 JSP页面的组成 33

2.2.1 静态内容 33

2.2.2 JSP的注释 34

2.2.3 JSP的指令元素 35

2.2.4 JSP的表达式 39

2.2.5 JSP的小脚本 40

2.2.6 JSP的声明 41

2.2.7 JSP的动作标签 41

2.3 JSP的内置对象 44

2.3.1 out对象 44

2.3.2 request对象 45

2.3.3 response对象 46

2.3.4 session对象 47

2.3.5 application对象 50

2.3.6 其他内置对象 51

2.4 四种属性范围 52

2.4.1 page属性范围 53

2.4.2 request属性范围 54

2.4.3 session属性范围 56

2.4.4 application属性范围 56

2.5 Servlet技术 57

2.5.1 Servlet简介 57

2.5.2 创建第一个Servlet 57

2.5.3 Servlet的生命周期 58

2.5.4 Servlet的编译和部署 59

2.5.5 Servlet的常用类和接口 61

2.6 JSTL和EL 62

2.6.1 EL表达式 62

2.6.2 EL的特点和使用简介 62

2.6.3 EL语法 63

2.6.4 EL隐式对象 65

2.6.5 什么是JSTL 66

2.6.6 使用JSTL 67

2.6.7 JSTL核心标签库 68

2.7 小结 70

第3章 用MVC架构实现Web项目开发 71

3.1 MVC的概述 71

3.1.1 MVC的思想及特点 71

3.1.2 常见的MVC技术 72

3.2 JDBC技术 73

3.2.1 JDBC简介 73

3.2.2 通过JDBC连接MySQL数据库 74

3.3 JavaBean 78

3.3.1 JavaBean简介 78

3.3.2 在JSP中访问JavaBean 78

3.3.3 JavaBean与MVC框架 80

3.4 使用MVC模式设计用户登录模块 81

3.4.1 项目设计简介 81

3.4.2 模型设计 83

3.4.3 视图设计 84

3.4.4 控制器设计 85

3.4.5 部署和运行程序 86

3.5 小结 86

第三篇 Struts 2框架篇 89

第4章 Struts 2概述 89

4.1 Struts 2基础 89

4.1.1 Struts 2简介 89

4.1.2 Struts2的MVC模式 90

4.1.3 Struts 2的工作原理 91

4.2 配置Struts 2的运行环境 92

4.2.1 下载Struts 2框架 92

4.2.2 Struts 2的配置文件 94

4.3 使用Struts 2实现HelloWorld示例 96

4.3.1 新建Web项目 96

4.3.2 添加Struts 2框架支持文件 98

4.3.3 新建JSP页面 98

4.3.4 在web.xml文件中添加过滤器 99

4.3.5 创建业务控制器HelloAction类 99

4.3.6 编写struts.xml配置文件 100

4.3.7 部署测试项目 100

4.4 小结 101

第5章 Struts 2的架构和运行流程 103

5.1 Struts 2的系统架构 103

5.1.1 Struts 2的模块和运行流程 103

5.1.2 Struts 2各模块的说明 104

5.1.3 Struts 2的核心概念 105

5.2 Struts 2的基本流程 106

5.2.1 Struts 2的运行流程 106

5.2.2 核心控制器 109

5.2.3 业务控制器 110

5.2.4 模型组件 110

5.2.5 视图组件 111

5.3 Struts 2的基本配置 111

5.3.1 web.xml文件的配置 112

5.3.2 struts.xml文件的配置 113

5.3.3 struts.properties文件的配置 115

5.3.4 struts.xml文件的结构 115

5.4 配置struts.xml 117

5.4.1 Bean的配置 117

5.4.2 常量的配置 118

5.4.3 包的配置 118

5.4.4 命名空间的配置 119

5.4.5 包含的配置 121

5.4.6 Action的配置 121

5.4.7 结果的配置 122

5.4.8 拦截器的配置 122

5.5 小结 123

第6章 Action和Result的配置 125

6.1 Action和Result的基础 125

6.1.1 Action的基础知识 125

6.1.2 Result的基础知识 126

6.2 Action的实现 126

6.2.1 POJO的实现 126

6.2.2 实现Action接口 127

6.2.3 继承ActionSupport 128

6.2.4 execute方法内部的实现 129

6.2.5 Struts 2访问Servlet API 130

6.3 Action的配置 134

6.3.1 Struts 2中Action的作用 134

6.3.2 配置Action 135

6.3.3 分模块配置方式 135

6.3.4 动态方法调用 136

6.3.5 用method属性处理调用方法 138

6.3.6 使用通配符 139

6.3.7 配置默认的Action 140

6.4 Action的数据 140

6.4.1 数据来源 140

6.4.2 基本的数据对应方式 141

6.4.3 传入非String类型的值 144

6.4.4 如何处理传入多个值 145

6.5 使用注解来配置Action 145

6.5.1 与Action配置相关的注解 145

6.5.2 使用注解配置Action示例 147

6.6 常用的Result类型 149

6.6.1 如何配置Result 149

6.6.2 预定义的ResultType 150

6.6.3 名称为dispatcher的ResultType 152

6.6.4 名称为redirect的ResultType 152

6.6.5 名称为redirectAction的ResultType 154

6.6.6 名称为chain的ResultType 156

6.6.7 其他ResultType 156

6.7 Result的配置 157

6.7.1 使用通配符动态配置Result 157

6.7.2 通过请求参数动态配置Result 157

6.7.3 全局Result 159

6.7.4 自定义Result 160

6.8 小结 160

第7章 Struts 2的拦截器 161

7.1 拦截器简介 161

7.1.1 为什么需要拦截器 161

7.1.2 拦截器的工作原理 162

7.2 拦截器的配置 163

7.2.1 配置拦截器 163

7.2.2 使用拦截器 164

7.2.3 默认拦截器 165

7.3 内建拦截器 166

7.3.1 内建拦截器介绍 166

7.3.2 内建拦截器的配置 167

7.4 自定义拦截器 168

7.4.1 实现拦截器类 168

7.4.2 自定义拦截器示例 169

7.5 深入拦截器 172

7.5.1 拦截器的方法过滤 172

7.5.2 使用拦截器实现权限控制 173

7.6 小结 176

第8章 Struts 2的标签库 177

8.1 Struts 2标签库概述 177

8.2 Struts 2的表单标签 178

8.2.1 表单标签的公共属性 178

8.2.2 简单的表单标签 179

8.2.3 <s:checkboxlist>标签 180

8.2.4 <s:combobox>标签 182

8.2.5 <s:optgroup>标签 184

8.2.6 <s:doubleseleet>标签 185

8.2.7 <s:file>标签 185

8.2.8 <s:token>标签 186

8.2.9 <s:updownselect>标签 187

8.2.10 <s:optiontransferselect>标签 188

8.3 Struts 2的非表单标签 189

8.3.1 <s:actionerror>、<s:actionmessage>和<s:fielderror>标签 189

8.3.2 <s:component>标签 190

8.4 控制标签 191

8.4.1 <s:if>、<s:elseif>、<s:else>标签 191

8.4.2 <s:iterator>标签 192

8.4.3 <s:append>标签 193

8.4.4 <s:merge>标签 194

8.4.5 <s:sort>标签 195

8.4.6 <s:generator>标签 196

8.4.7 <s:subset>标签 197

8.5 数据标签 197

8.5.1 <s:aetion>标签 197

8.5.2 <s:property>标签 199

8.5.3 <s:param>标签 200

8.5.4 <s:bean>标签 200

8.5.5 <s:date>标签 201

8.5.6 <s:set>标签 202

8.5.7 <s:url>标签 203

8.5.8 <s:include>标签 204

8.5.9 <s:debug>标签 204

8.5.10 <s:push>标签 205

8.5.11 <s:il8n>和<s:text>标签 205

8.6 小结 206

第9章 OGNL和类型转换 207

9.1 OGNL和Struts 2 207

9.1.1 数据转移和类型转换 207

9.1.2 OGNL概述 207

9.1.3 OGNL表达式 208

9.1.4 OGNL如何融入框架 209

9.2 类型转换 210

9.2.1 简单类型转换 210

9.2.2 使用OGNL表达式 212

9.3 自定义类型转换器 216

9.3.1 基于OGNL的类型转换器 216

9.3.2 基于Struts 2的类型转换器 217

9.3.3 注册自定义类型转换器 218

9.4 类型转换的错误处理 223

9.5 小结 224

第10章 Struts 2的验证框架 225

10.1 数据校验概述 225

10.2 编程实现Struts 2的数据校验 226

10.2.1 重写validate方法的数据校验 226

10.2.2 重写validateXxx方法的数据校验 228

10.2.3 Struts 2的输入校验流程 230

10.3 Struts 2验证框架 231

10.3.1 验证框架的作用 232

10.3.2 编写校验规则文件 232

10.3.3 校验器的配置格式 233

10.3.4 常用的内置校验器 235

10.3.5 校验框架的运行流程 235

10.3.6 使用Struts 2验证框架实现验证 236

10.4 小结 240

第11章 Struts 2的国际化 241

11.1 国际化简介 241

11.1.1 国际化概述 241

11.1.2 Java内置的国际化 243

11.1.3 资源文件的定义和使用 244

11.1.4 使用占位符输出动态内容 246

11.2 Struts 2国际化简介 247

11.2.1 Struts 2实现国际化机制 247

11.2.2 配置全局资源文件 247

11.2.3 加载资源文件的方式 248

11.2.4 资源文件的加载顺序 249

11.3 使用Struts 2实现页面国际化 250

11.3.1 手动设置语言环境实现国际化 250

11.3.2 自行选择语言环境实现国际化 256

11.4 小结 258

第12章 Struts 2的文件上传和下载 259

12.1 文件上传 259

12.1.1 文件上传原理 259

12.1.2 使用Struts 2实现单个文件上传 260

12.1.3 动态设置文件上传目录 263

12.1.4 限制文件的大小和类型 264

12.1.5 实现上传多个文件 266

12.1.6 通过添加文件域上传多个文件 268

12.2 文件下载 269

12.2.1 概述 269

12.2.2 使用Struts 2实现文件下载 270

12.3 小结 271

第13章 Struts 2的Ajax支持 273

13.1 Ajax概述 273

13.1.1 Aiax的发展和应用 273

13.1.2 Aiax的核心技术 275

13.1.3 Aiax示例 276

13.2 Struts 2的Ajax标签 277

13.2.1 Struts 2对Ajax的支持 278

13.2.2 <sx:div>标签 278

13.2.3 <sx:a>和<sx:submit>标签 281

13.2.4 <sx:head>标签 282

13.2.5 <sx:tabbedpanel>标签 283

13.2.6 <sx:autocompleter>标签 284

13.2.7 <sx:tree>和<sx:treenode>标签 285

13.2.8 <sx:datetimepicker>标签 286

13.2.9 <sx:textarea>标签 287

13.3 常见框架插件 288

13.3.1 jQuery 288

13.3.2 DWR 289

13.3.3 JSON 290

13.3.4 Struts 2、jQuery、JSON和Ajax联合开发 291

13.4 小结 295

第14章 使用Struts 2实现用户信息CRUD 297

14.1 概述 297

14.1.1 功能简介 297

14.1.2 使用技术 297

14.1.3 准备开发环境 298

14.2 数据库的设计 299

14.2.1 创建数据库 299

14.2.2 创建数据表 300

14.3 实现Dao层 301

14.3.1 实现数据库连接 302

14.3.2 实现数据访问层 303

14.4 实现Biz层 307

14.5 使用Struts 2实现表现层 308

14.5.1 实现合并Action类 308

14.5.2 显示全部用户信息 309

14.5.3 添加用户 311

14.5.4 修改用户 314

14.5.5 删除用户 316

14.5.6 显示用户详细信息 317

14.6 加入国际化 318

14.6.1 国际化信息文件 318

14.6.2 使用国际化信息 319

14.7 相关输入校验 320

14.7.1 页面添加验证 321

14.7.2 验证信息国际化 322

14.8 小结 323

第四篇 Hibernate框架篇 327

第15章 Hibernate初步 327

15.1 Hibernate概述 327

15.1.1 JDBC的困扰 327

15.1.2 Hibernate的优势 327

15.1.3 持久化和ORM 328

15.1.4 Hibernate的体系结构 328

15.2 Hibernate入门 329

15.2.1 Hibernate的下载和安装 329

15.2.2 Hibernate的执行流程 331

15.2.3 第一个Hibernate程序 331

15.3 使用Hibernate操作数据库 341

15.3.1 使用Hibernate加载数据 341

15.3.2 使用Hibernate删除数据 343

15.3.3 使用Hibernate修改数据 344

15.4 使用MyEclipse工具简化数据库开发 345

15.4.1 使用工具给项目添加Hibernate支持 345

15.4.2 使用工具自动生成实体类和映射文件 350

15.4.3 编写BaseHibernateDAO类 352

15.5 使用Annotation注解实现Hibernate零配置 356

15.5.1 给项目添加Annotation支持 357

15.5.2 生成带注解的持久化类 357

15.5.3 测试Annotation注解 360

15.6 小结 361

第16章 Hibernate的关联映射 363

16.1 单向多对一映射 363

16.1.1 多对一映射的配置 363

16.1.2 测试多对一映射 365

16.2 单向一对多映射 366

16.2.1 单向一对多映射的配置 366

16.2.2 测试一对多映射 367

16.3 双向多对一映射 368

16.3.1 添加数据 368

16.3.2 删除数据 374

16.3.3 更改数据 377

16.4 双向一对一关联映射 378

16.4.1 基于外键的一对一映射 378

16.4.2 基于主键的一对一映射 382

16.5 多对多关联映射 386

16.5.1 多对多映射配置 386

16.5.2 添加数据 389

16.5.3 删除数据 393

16.6 基于Annotation注解的关联映射 394

16.6.1 多对一双向关联Annotation注解的实现 394

16.6.2 一对一双向关联Annotation注解的实现 402

16.6.3 多对多双向关联Annotation注解的实现 407

16.7 小结 413

第17章 Hibernate检索方式 415

17.1 HQL查询方式 415

17.1.1 基本查询 415

17.1.2 动态实例查询 420

17.1.3 分页查询 421

17.1.4 条件查询 422

17.1.5 连接查询 424

17.1.6 子查询 429

17.2 QBC查询 432

17.2.1 基本查询 433

17.2.2 组合查询 436

17.2.3 关联查询 437

17.2.4 分页查询 438

17.2.5 QBE查询 439

17.2.6 离线查询 441

17.3 小结 442

第18章 Hibernate进阶 443

18.1 Hibernate的批量处理 443

18.1.1 批量插入 443

18.1.2 批量更新 447

18.1.3 批量删除 448

18.2 Hibernate事务 450

18.2.1 事务的特性 450

18.2.2 并发控制 450

18.2.3 在Hibernate中使用事务 451

18.2.4 Hibernate的悲观锁和乐观锁 452

18.3 Hibernate缓存 465

18.3.1 缓存的概念 465

18.3.2 缓存的范围 465

18.3.3 Hibernate中的第一级缓存 465

18.3.4 Hibernate中的第二级缓存 470

18.3.5 Hibernate中的查询缓存 473

18.4 Hibernate使用数据库连接池 476

18.4.1 配置数据源名称 478

18.4.2 在Hibernate中使用数据库连接池 480

18.5 Hibernate调用存储过程 481

18.6 小结 484

第19章 Struts 2与Hibernate的整合 485

19.1 环境搭建 485

19.2 登录功能的流程 486

19.3 实现DAO层 486

19.4 实现Biz层 487

19.5 实现Action 488

19.6 编写配置文件 489

19.6.1 配置struts.xml 489

19.6.2 配置web.xml 489

19.7 创建登录页面 490

19.8 小结 492

第五篇 Spring框架篇 495

第20章 Spring的基本应用 495

20.1 Spring简介 495

20.1.1 Spring的背景 496

20.1.2 Spring的框架 496

20.2 一个简单的Spring示例 496

20.2.1 搭建Spring开发环境 496

20.2.2 编写HelloWorld类 499

20.2.3 配置applicationContext.xml文件 499

20.2.4 编写测试类 500

20.3 Spring核心机制:依赖注入 500

20.3.1 理解控制反转 500

20.3.2 如何使用Spnng的依赖注入 501

20.4 小结 503

第21章 深入Spring中的Bean 505

21.1 Bean工厂的ApplicationContext 505

21.2 Bean的作用域 506

21.3 Bean的装配方式 508

21.3.1 基于XML的Bean装配 508

21.3.2 基于Annotation的Bean装配 512

21.3.3 自动Bean装配 514

21.4 小结 515

第22章 面向方面编程(Spring AOP) 517

22.1 SpringAOP简介 517

22.1.1 为什么使用AOP 517

22.1.2 AOP的重要概念 517

22.2 基于代理类ProxyFactoryBean的AOP实现 518

22.2.1 编写数据访问层 518

22.2.2 编写业务逻辑层 519

22.2.3 编写方面代码 519

22.2.4 将“业务逻辑代码”和“方面代码”组装进代理类 521

22.2.5 编写测试类 522

22.3 Spring AOP通知(Advice) 523

22.3.1 后置通知(After ReturningAdvice) 523

22.3.2 异常通知(Throws Advice) 524

22.3.3 环绕通知(Interception Around Advice) 526

22.4 基于Schema的AOP实现 527

22.5 基于@AspectJ注解的AOP实现 531

22.6 小结 534

第23章 Spring整合Hibernate与Struts 2 535

23.1 Spring整合Hibernate 535

23.1.1 添加Spring和Hibernate支持 535

23.1.2 生成实体类和映射文件 539

23.1.3 DAO开发 539

23.1.4 Biz层开发 541

23.1.5 配置ApplicationCONTEXT.XML 541

23.1.6 编写测试类 542

23.2 Spring整合Struts 2 542

23.2.1 添加Struts 2支持 542

23.2.2 创建Action 543

23.2.3 Spring整合Struts2的步骤 544

23.3 基于Annotation注解的SSH2整合 546

23.3.1 环境搭建 547

23.3.2 生成基于注解的实体类 547

23.3.3 基于注解的DAO开发 547

23.3.4 基于注解的Biz开发 548

23.3.5 基于注解的Action开发 549

23.3.6 修改相关的配置文件 550

23.3.7 编写页面文件 551

23.4 小结 552

第24章 Spring事务管理 553

24.1 Spring事务管理的方式 553

24.2 Spring 3声明式事务管理 553

24.2.1 基于AOP的事务管理 554

24.2.2 基于@Transactional注解的事务管理 557

24.3 基于AOP事务管理实现银行转账 558

24.3.1 生成实体类和映射文件 558

24.3.2 实现DAO层 559

24.3.3 实现Biz层 560

24.3.4 创建Action 560

24.3.5 Spring中配置DAO、Biz和AccountManager 561

24.3.6 struts.xml中配置AccountManager类 562

24.3.7 配置基于AOP的声明式事务 562

24.3.8 编写转账页面 562

24.3.9 声明式事务测试 563

24.4 基于@Transactional注解实现银行转账 564

24.5 小结 565

第25章 Spring Web 567

25.1 Spring MVC概述 567

25.2 配置DispatcherServlet 568

25.3 控制器 568

25.3.1 命令控制器 569

25.3.2 表单控制器 572

25.3.3 多动作控制器 576

25.4 处理器映射 578

25.5 视图解析器 579

25.6 基于注解的Spring MVC 580

25.7 Spring MVC(注解)文件上传 586

25.8 Spring MVC国际化 588

25.9 小结 590

第六篇 SSH2项目示例篇 593

第26章 新闻发布系统 593

26.1 系统概述及需求分析 593

26.2 系统分析 594

26.3 数据库设计 594

26.4 系统环境搭建 596

26.4.1 创建项目 596

26.4.2 添加Spring支持 596

26.4.3 添加Hibernate支持 598

26.4.4 添加Struts 2支持 601

26.4.5 配置事务管理 601

26.5 系统目录结构 602

26.6 生成实体类和映射文件 603

26.7 新闻浏览 608

26.7.1 新闻浏览首页 608

26.7.2 浏览新闻内容 618

26.8 管理员功能的实现 621

26.8.1 管理员登录 621

26.8.2 新闻管理首页 625

26.8.3 添加新闻 628

26.8.4 修改新闻 631

26.8.5 删除新闻 633

26.8.6 添加主题 635

26.8.7 主题编辑页 636

26.8.8 修改主题 637

26.8.9 删除主题 640

26.9 小结 641

第27章 网上订餐系统 643

27.1 系统概述及需求分析 643

27.2 系统分析 644

27.3 数据库设计 645

27.4 系统环境搭建 647

27.5 配置事务管理 648

27.6 生成实体类和映射文件 649

27.7 前台功能模块的实现 654

27.7.1 浏览餐品 654

27.7.2 查询餐品 663

27.7.3 用户和管理员登录 664

27.7.4 购物车功能 669

27.7.5 订单功能 674

27.8 后台功能模块实现 684

27.8.1 添加餐品 684

27.8.2 管理餐品 687

27.8.3 订单处理 692

27.9 小结 699

第28章 网上银行系统 701

28.1 系统概述 701

28.2 系统分析 701

28.2.1 系统目标 701

28.2.2 需求分析 702

28.3 数据库设计 703

28.4 搭建开发环境 705

28.5 基于@Transactional注解的事务管理 706

28.6 生成实体类和映射文件 707

28.7 客户功能实现 710

28.7.1 系统登录 710

28.7.2 客户主页面 716

28.7.3 修改密码 717

28.7.4 修改个人信息 720

28.7.5 存款 726

28.7.6 取款 732

28.7.7 转账 735

28.7.8 查询交易记录 739

28.8 管理功能实现 744

28.8.1 管理员登录 745

28.8.2 显示用户信息 747

28.8.3 查询用户 753

28.8.4 冻结、启用功能 755

28.8.5 删除用户 757

28.8.6 开户 758

28.9 小结 762