第1章 Struts2框架技术入门 1
1.1 Struts2基础知识 1
1.1.1 Struts2的由来与发展 1
1.1.2 Struts2软件包的下载和配置 2
1.1.3 MVC设计模式 16
1.1.4 Struts2的工作原理 17
1.2 Struts2的核心组件 18
1.2.1 Struts2的控制器组件 18
1.2.2 Struts2的模型组件 19
1.2.3 Struts2的视图组件 20
1.3 基于Struts2的登录系统实例 21
1.3.1 使用NetBeans 8.2开发项目 22
1.3.2 使用MyEclipse 2017开发项目 27
1.3.3 使用Eclipse开发项目 34
1.4 本章小结 34
1.5 习题 35
1.5.1 选择题 35
1.5.2 填空题 35
1.5.3 简答题 36
1.5.4 实训题 36
第2章 Struts2核心组件详解 37
2.1 Struts2的配置文件struts.xml 37
2.1.1 struts.xml配置文件结构 37
2.1.2 Bean配置 38
2.1.3 常量配置 39
2.1.4 包含配置 40
2.1.5 包配置 41
2.1.6 命名空间配置 42
2.1.7 Action的配置 43
2.1.8 结果配置 44
2.1.9 拦截器配置 44
2.2 Struts2的核心控制器 44
2.3 Struts2的业务控制器 45
2.3.1 Action接口和ActionSupport类 45
2.3.2 Action实现类 49
2.3.3 Action访问ActionContext 50
2.3.4 Action直接访问Servlet API 55
2.3.5 Action 中的动态方法调用 58
2.4 Struts2的OGNL表达式 63
2.4.1 Struts2的OGNL表达式介绍 63
2.4.2 Struts2的OGNL集合 67
2.5 Struts2的标签库 68
2.5.1 Struts2的标签库概述 68
2.5.2 Struts2的表单标签 69
2.5.3 Struts2的非表单标签 76
2.5.4 Struts2的数据标签 79
2.5.5 Struts2的控制标签 84
2.6 本章小结 92
2.7 习题 92
2.7.1 选择题 92
2.7.2 填空题 93
2.7.3 简答题 93
2.7.4 实训题 93
第3章 Struts2的高级组件 94
3.1 Struts2的国际化 94
3.1.1 Struts2实现国际化的流程 94
3.1.2 Struts2国际化应用实例 97
3.2 Struts2的拦截器 102
3.2.1 Struts2拦截器的基础知识 102
3.2.2 Struts2拦截器实现类 103
3.2.3 Struts2拦截器应用实例 104
3.3 Struts2的输入校验 108
3.3.1 Struts2输入验证的基础知识 108
3.3.2 Struts2的手工验证 115
3.3.3 Struts2内置校验器的使用 118
3.3.4 Struts2内置校验器应用实例 124
3.4 Struts2的文件上传和下载 130
3.4.1 文件上传 130
3.4.2 文件下载 136
3.5 本章小结 140
3.6 习题 141
3.6.1 选择题 141
3.6.2 填空题 141
3.6.3 简答题 141
3.6.4 实训题 142
第4章 基于Struts2的个人信息管理系统项目实训 143
4.1 项目需求说明 143
4.2 项目系统分析 143
4.3 系统设计与实现 145
4.3.1 数据库设计 145
4.3.2 项目代码实现 147
4.4 本章小结 238
4.5 习题 238
实验题 238
第5章 Hibernate框架技术入门 239
5.1 Hibernate基础知识 239
5.1.1 Hibernate的发展与特点 239
5.1.2 Hibernate软件包的下载和配置 240
5.1.3 Hibernate的工作原理 243
5.2 Hibernate的核心组件 243
5.3 基于Struts2+Hibernate的应用实例 245
5.4 本章小结 258
5.5 习题 258
5.5.1 选择题 258
5.5.2 填空题 259
5.5.3 简答题 259
5.5.4 实训题 259
第6章 Hibernate核心组件详解 260
6.1 Hibernate的配置文件 260
6.1.1 hibernate.cfg.xml 260
6.1.2 hibernate.properties 263
6.2 Hibernate的PO对象 266
6.2.1 Hibernate PO对象的基础知识 266
6.2.2 Hibernate PO对象的状态 267
6.3 Hibernate的映射文件 269
6.4 Hibernate的Configuration类 272
6.5 Hibernate的SessionFactory接口 273
6.6 Hibernate的Session接口 274
6.6.1 Session接口的基础知识 274
6.6.2 通过方法获取持久化对象(PO) 275
6.6.3 操作持久化对象(PO)的常用方法 276
6.7 Hibernate的Transaction接口 279
6.8 Hibernate的Query接口 281
6.8.1 Query接口的基本知识 281
6.8.2 Query接口的常用方法 281
6.9 基于Struts2+Hibernate的学生信息管理系统 284
6.10 本章小结 306
6.11 习题 307
6.11.1 选择题 307
6.11.2 填空题 307
6.11.3 简答题 307
6.11.4 实训题 307
第7章 Hibernate的高级组件 308
7.1 利用关联关系操纵对象 308
7.1.1 一对一关联关系 308
7.1.2 一对一关联关系的应用实例 311
7.1.3 一对多关联关系 324
7.1.4 一对多关联关系的应用实例 326
7.1.5 多对多关联关系 332
7.1.6 多对多关联关系的应用实例 333
7.2 Hibernate的数据查询 342
7.2.1 Hibernate Query Language 342
7.2.2 Criteria Query方式 344
7.2.3 Native SQL查询 344
7.3 Hibernate的事务管理 345
7.3.1 事务的特性 345
7.3.2 事务隔离 345
7.3.3 在Hibernate配置文件中设置隔离级别 346
7.3.4 在Hibernate 中使用JDBC事务 347
7.3.5 在Hibernate 中使用JTA事务 347
7.4 Hibernate的Cache管理 348
7.4.1 一级Cache 348
7.4.2 二级Cache 349
7.5 本章小结 350
7.6 习题 350
7.6.1 选择题 350
7.6.2 填空题 351
7.6.3 简答题 351
7.6.4 实训题 351
第8章 基于Struts2+Hibernate的教务管理系统项目实训 352
8.1 项目需求说明 352
8.2 项目系统分析 352
8.3 系统设计与实现 354
8.3.1 数据库设计 354
8.3.2 项目实现 356
8.4 本章小结 400
8.5 习题 401
实训题 401
参考文献 402