第1章 Struts2框架技术入门 1
1.1 Struts2的基础知识 1
1.1.1 Struts2的由来与发展 1
1.1.2 Struts2软件包的下载和配置 2
1.1.3 MVC设计模式 15
1.1.4 Struts2的工作原理 16
1.2 Struts2的核心组件 17
1.2.1 Struts2的控制器组件 17
1.2.2 Struts2的模型组件 18
1.2.3 Struts2的视图组件 20
1.3 基于Struts2的登录系统 21
1.3.1 使用NetBeans8开发项目 21
1.3.2 使用MyEclipse 2017开发项目 26
1.3.3 使用Eclipse开发项目 33
1.4 本章小结 34
1.5 习题 34
1.5.1 选择题 34
1.5.2 填空题 35
1.5.3 简答题 35
1.5.4 实训题 35
第2章 Struts2核心组件详解 36
2.1 Struts2的配置文件struts.xml 36
2.1.1 struts.xml配置文件的结构 36
2.1.2 Bean配置 37
2.1.3 常量配置 38
2.1.4 包含配置 39
2.1.5 包配置 40
2.1.6 命名空间配置 41
2.1.7 Action配置 42
2.1.8 结果配置 43
2.1.9 拦截器配置 43
2.2 Struts2的核心控制器StrutsPrepareAndExecuteFilter 43
2.3 Struts2的业务控制器Action 44
2.3.1 Action接口和ActionSupport类 44
2.3.2 Action实现类 48
2.3.3 Action访问ActionContext 49
2.3.4 Action直接访问Servlet 54
2.3.5 Action中的动态方法调用 57
2.4 Struts2的OGNL表达式 62
2.4.1 Struts2的OGNL表达式 62
2.4.2 Struts2的OGNL集合 66
2.5 Struts2的标签库 67
2.5.1 Struts2的标签库概述 67
2.5.2 Struts2的表单标签 67
2.5.3 Struts2的非表单标签 75
2.5.4 Struts2的数据标签 78
2.5.5 Struts2的控制标签 85
2.6 本章小结 94
2.7 习题 94
2.7.1 选择题 94
2.7.2 填空题 95
2.7.3 简答题 95
2.7.4 实训题 95
第3章 Struts2的高级组件 96
3.1 Struts2的国际化 96
3.1.1 Struts2实现国际化的流程 96
3.1.2 Struts2国际化应用实例 99
3.2 Struts2的拦截器 104
3.2.1 Struts2拦截器的基础知识 104
3.2.2 Struts2拦截器实现类 105
3.2.3 Struts2拦截器应用实例 106
3.3 Struts2的输入校验 110
3.3.1 Struts2输入验证的基础知识 110
3.3.2 Struts2的手工验证 117
3.3.3 Struts2内置校验器的使用 121
3.3.4 Struts2内置校验器应用实例 127
3.4 Struts2的文件上传和下载 134
3.4.1 文件上传 134
3.4.2 文件下载 140
3.5 本章小结 144
3.6 习题 145
3.6.1 选择题 145
3.6.2 填空题 145
3.6.3 简答题 145
3.6.4 实训题 146
第4章 基于Struts2的个人信息管理系统项目实训 147
4.1 项目需求说明 147
4.2 项目系统分析 147
4.3 项目的数据库设计 148
4.4 项目实现 150
4.4.1 项目文件结构 150
4.4.2 用户登录和注册功能的实现 151
4.4.3 系统主页面功能的实现 184
4.4.4 个人信息管理功能的实现 188
4.4.5 通讯录管理功能的实现 202
4.4.6 日程安排管理功能的实现 218
4.4.7 个人文件管理功能的实现 236
4.5 本章小结 249
4.6 习题 249
实训题 249
第5章 Hibernate5框架技术入门 250
5.1 Hibernate5的基础知识 250
5.1.1 Hibernate5的发展与特点 250
5.1.2 Hibernate5软件包的下载和配置 251
5.1.3 Hibernate5的工作原理 254
5.2 Hibernate5的核心组件 254
5.3 基于Struts2和Hibernate5的登录和注册系统 255
5.4 本章小结 270
5.5 习题 270
5.5.1 选择题 270
5.5.2 填空题 270
5.5.3 简答题 270
5.5.4 实训题 271
第6章 Hibernate5核心组件详解 272
6.1 Hibernate5的配置文件 272
6.1.1 hibernate.cfg.xml 272
6.1.2 hibernate.properties 275
6.2 Hibernate5的持久化对象 278
6.2.1 Hibernate5的持久化对象基础知识 278
6.2.2 Hibernate5的持久化对象状态 279
6.3 Hibernate5的映射文件 281
6.4 Hibernate5的Configuration类 284
6.5 Hibernate5的SessionFactory接口 284
6.6 Hibernate5的Session接口 285
6.6.1 Session接口的基础知识 285
6.6.2 通过方法获取持久化对象 286
6.6.3 操作持久化对象的常用方法 287
6.7 Hibernate5的Transaction接口 290
6.8 Hibernate5的Query接口 291
6.8.1 Query接口的基本知识 291
6.8.2 Query接口的常用方法 292
6.9 基于Struts2+Hibernate5的学生信息管理系统 294
6.9.1 项目介绍、主页面以及查看学生信息功能的实现 295
6.9.2 添加学生信息功能的实现 304
6.9.3 修改学生信息功能的实现 308
6.9.4 删除学生信息功能的实现 316
6.10 本章小结 318
6.11 习题 319
6.11.1 选择题 319
6.11.2 填空题 319
6.11.3 简答题 319
6.11.4 实训题 320
第7章 Hibernate5的高级组件 321
7.1 利用关联关系操纵对象 321
7.1.1 一对一关联关系 321
7.1.2 一对一关联关系的应用实例 324
7.1.3 一对多关联关系 336
7.1.4 一对多关联关系的应用实例 338
7.1.5 多对多关联关系 345
7.1.6 多对多关联关系的应用实例 346
7.2 Hibernate5数据查询 355
7.2.1 Hibernate Query Language 355
7.2.2 Criteria Query方式 358
7.2.3 Native SQL查询 358
7.3 Hibernate5的事务管理 358
7.3.1 事务的特性 358
7.3.2 事务隔离 359
7.3.3 在Hibernate5配置文件中设置隔离级别 360
7.3.4 在Hibernate5中使用JDBC事务 360
7.3.5 在Hibernate5中使用JTA事务 361
7.4 Hibernate5的Cache管理 361
7.4.1 一级Cache 362
7.4.2 二级Cache 362
7.5 本章小结 363
7.6 习题 363
7.6.1 选择题 363
7.6.2 填空题 364
7.6.3 简答题 364
7.6.4 实训题 364
第8章 基于Struts2+Hibernate5的教务管理系统项目实训 365
8.1 项目需求说明 365
8.2 项目系统分析 365
8.3 项目的数据库设计 367
8.4 项目实现 369
8.4.1 项目文件结构 369
8.4.2 用户登录功能的实现 370
8.4.3 学生管理功能的实现 396
8.4.4 管理员管理功能的实现 409
8.4.5 教师管理功能的实现 415
8.5 本章小结 415
8.6 习题 416
实训题 416
第9章 Spring5框架技术入门 417
9.1 Spring5的基础知识 417
9.1.1 Spring5的由来与发展 417
9.1.2 Spring5的下载与配置 418
9.1.3 Spring5框架的体系结构 421
9.2 Spring5 IoC的原理和主要组件 423
9.2.1 IoC的基础知识以及原理 423
9.2.2 IoC的主要组件 429
9.2.3 IoC的应用实例 432
9.2.4 注入的两种方式 440
9.3 基于Struts2+Hibernate5+Spring5的登录系统 443
9.3.1 项目介绍 443
9.3.2 在web.xml中配置Struts2和Spring5 445
9.3.3 编写视图组件 446
9.3.4 Action和JavaBean 446
9.3.5 Struts2、Spring5和Hibernate的配置文件 450
9.3.6 Struts2、Spring5和Hibernate整合中常见问题 452
9.3.7 项目部署和运行 452
9.4 本章小结 453
9.5 习题 454
9.5.1 选择题 454
9.5.2 填空题 454
9.5.3 简答题 454
9.5.4 实训题 454
第10章 Spring5的AOP框架 455
10.1 AOP框架基础知识 455
10.1.1 AOP框架简介 455
10.1.2 Spring5的AOP框架主要术语 457
10.2 代理 458
10.2.1 静态代理 458
10.2.2 动态代理 461
10.3 创建通知 463
10.3.1 前置通知及应用实例 463
10.3.2 后置通知及应用实例 466
10.3.3 环绕通知及应用实例 468
10.3.4 异常通知及应用实例 470
10.3.5 引入通知 473
10.4 定义切入点 473
10.4.1 静态切入点和动态切入点 473
10.4.2 切入点的应用实例 474
10.5 创建引入 478
10.6 本章小结 479
10.7 习题 479
10.7.1 选择题 479
10.7.2 填空题 479
10.7.3 简答题 479
10.7.4 实训题 480
第11章 基于Struts2+Hibernate5+Spring5的校园论坛BBS项目实训 481
11.1 项目需求分析 481
11.2 项目分析与设计 482
11.3 项目的数据库设计 483
11.4 项目实现 485
11.4.1 项目的文件结构和主页面 485
11.4.2 BBS登录功能的实现 527
11.4.3 BBS板块管理功能的实现 536
11.4.4 BBS帖子管理功能的实现 544
11.4.5 个人信息管理功能的实现 574
11.5 本章小结 584
11.6 习题 584
实训题 584
参考文献 585