SSH开发实战教程(Spring+Struts 2+Hibernate)

SSH初学者入门的必备案头书
分享 推荐 0 收藏 0 阅读 338
李西明 , 陈立为 (作者)

关于本书的内容有任何问题,请联系 张斌

Java EE的轻量级开发主要有两种框架组合方式SSH与SSM。SSH框架简单,当前的互联网开发采用SSH框架较多,因此要学习Java EE,SSH框架是必学的技术。
本书的配套资源丰富,提供下载。

内容摘要

本书详细讲解了当前JavaEE开发流行的SSH框架,涵盖Hibernate、Struts2、Spring三大块知识,以及它们之间的整合和实战项目案例。
全书共18章,第1-4章是Hibernate部分,第5-11章为struts2部分,第12-16章为Spring框架部分,第17章为SSH三大框架整合,介绍了整合原理,整合流程,第18章为实战项目。

目录

第 1章 Hibernate入门 1
1.1 SSH概述 1
1.2 Hibernate简介 1
1.3 第 一个Hibernate项目 3
1.3.1 创建项目并导入JAR包 4
1.3.2 创建数据库及表 4
1.3.3 创建持久化类 4
1.3.4 创建映射文件 5
1.3.5 创建核心配置文件 6
1.3.6 创建测试类进行增删改查操作 6
1.4 映射文件详解 10
1.5 配置文件详解 12
1.5.1 基本配置 12
1.5.2 配置c3p0连接池 12
1.6 Hibernate持久化对象的状态 13
1.6.1 持久化对象的状态 13
1.6.2 持久化对象状态转换 13
1.7 Hibernate的核心接口简介 15
1.7.1 Configuration接口 15
1.7.2 SessionFactory接口 15
1.7.3 Session接口 16
1.7.4 Transaction接口 18
上机练习 18
思考题 19
第 2章 HQL与Criteria查询 20
2.1 HQL查询概述 20
2.1.1 HQL基本语法 20
2.1.2 HQL语句的执行 21
2.1.3 HQL查询条件中使用参数 22
2.1.4 HQL给参数赋值的其他方法 24
2.1.5 HQL模糊查询与动态查询 26
2.1.6 HQL投影查询 27
2.1.7 HQL分页查询 28
2.1.8 HQL聚合函数 29
2.1.9 HQL分组查询 30
2.1.10 使用别名 30
2.2 Criteria查询 31
2.2.1 Criteria简单查询 31
2.2.2 Criteria多条件查询 32
2.2.3 Criteria分页查询 33
上机练习 34
思考题 34
第3章 Hibernate关联映射 35
3.1 实体对象的三种关联关系 35
3.1.1 单向关联与双向关联 35
3.1.2 一对多关联映射 35
3.1.3 多对多关联关系映射 40
3.2 关联关系中的反转与级联 44
3.2.1 反转操作 44
3.2.2 级联操作 45
3.3 延迟加载 50
3.3.1 类级别的查询策略 51
3.3.2 一对多及多对多的查询策略 53
3.3.3 多对一关联的查询策略 55
上机练习 56
思考题 56
第4章 HQL连接查询与缓存 57
4.1 HQL连接查询 57
4.1.1 内连接 57
4.1.2 隐式内连接 59
4.1.3 外连接 60
4.2 HQL子查询 62
4.3 HQL操作集合的函数或属性 63
4.4 一级缓存 65
4.4.1 一级缓存的原理 65
4.4.2 Hibernate快照 67
4.4.3一级缓存的常用操作 68
4.5 二级缓存 70
4.5.1 二级缓存的原理 71
4.5.2 二级缓存的配置和使用 71
上机练习 73
思考题 73
第5章 Struts 2入门 74
5.1 Struts2简介 74
5.1.1 MVC设计模式 74
5.1.2 Struts2的优点 75
5.1.3 Struts2的开发环境搭建 75
5.2 第 一个Struts2项目 77
5.3 Struts2实现登录 80
5.4 Struts2的执行流程 82
上机练习 83
思考题 83
第6章 Struts2配置文件 84
6.1 配置文件简介 84
6.1.1 认识struts.xml文件结构 84
6.1.2 配置常量 85
6.1.3 include的配置 86
6.2 配置Action 86
6.2.1 创建Action类 86
6.2.2 配置Action类 87
6.2.3 Action访问Servlet API对象 88
6.2.4 动态方法调用 94
6.2.5 使用通配符简化配置 97
6.2.6 配置默认的Action 99
6.4 Action获取请求参数 99
6.4.1 属性驱动 99
6.4.2 模型驱动 103
6.5 Result的配置 104
6.5.1 Result元素结构 104
6.5.2 常用结果类型 104
6.5.3 动态结果 105
6.5.4 全局结果 107
6.6 各种配置项的顺序 107
上机练习 108
思考题 108
第7章 Struts2拦截器 109
7.1 拦截器原理 109
7.1.1 拦截器基本知识 109
7.1.2 拦截器的工作方式 109
7.2 拦截器的配置 110
7.2.1配置拦截器 110
7.2.2 拦截器的返回值 112
7.3 拦截器的种类 112
7.4 自定义拦截器 112
7.4.1 自定义拦截器的实现 112
7.4.2 权限拦截器 113
上机练习 116
思考题 116
第8章 Struts2标签库 117
8.1 Struts2标签库简介 117
8.1.1 Struts2标签库的分类 117
8.1.2 Struts2标签库的导入 117
8.2 Struts2控制标签 118
8.2.1 <s:if>标签 118
8.2.2 <s:iterator>标签 118
8.3 Struts2数据标签 121
8.3.1 <s:property>标签 121
8.3.2 <s:date>日期标签 121
8.4 Struts2的主题 122
8.5 Struts2的表单标签 122
8.5.1 <s:form>和<s: submit>标签 123
8.5.2 <s:textfield>和<s:textarea>标签 123
8.5.3 <s:password>标签 123
8.5.4 <s:radio>标签 123
8.5.5 <s:checkbox>标签 125
8.5.6 <s:checkboxlist>标签 126
8.5.7 <s:select>标签 127
8.5.8 <s:optgroup>标签 127
8.5.9 <s:file>标签 128
8.5.10 <s:hidden>标签 129
8.5.11 <s:reset>标签 129
8.5.12 标签数据来自后台 130
8.6 Struts2的非表单标签的 132
上机练习 133
思考题 133
第9章 OGNL表达式与值栈 134
9.1 OGNL表达式 134
9.1.1 OGNL的概念 134
9.1.2 使用OGNL访问对象方法 138
9.1.3 OGNL访问集合对象 140
9.1.4 访问ActionContext中的数据 142
9.2 值栈 143
9.2.1 值栈的概念 143
9.2.2 值栈的应用 143
上机练习 143
思考题 143
第 10章 Struts2关键技术 144
10.1 数据类型转换 144
10.1.1 默认类型转换 144
10.1.2 自定义类型转换器 146
10.1.3 多种日期格式的转换 149
10.1.4 保存原来的日期格式 150
10.1.5 类型转换异常提示信息改为中文 151
10.2 数据验证 152
10.2.1 使用validate方法验证Action中的所有方法 152
10.2.2 对Action中指定方法执行前的验证 154
10.2.3 Struts2验证框架 157
10.3 文件上传 162
10.3.1 文件上传概述 162
10.3.2 单个文件上传实例 163
10.3.3 限制文件的大小和类型 166
10.3.4 多文件上传 168
10.4 文件下载 170
10.4.1 文件下载的概述 170
10.4.2 文件下载案例 171
10.4.3 文件名为中文的下载 172
上机练习 173
思考题 173
第 11章 Struts2与Ajax 174
11.1 使用Stream类型的结果映射 174
11.2 使用JSON类型的结果映射 176
11.3 Ajax综合案例 179
上机练习 182
第 12章 Spring入门 183
12.1 Spring概述 183
12.1.1 Spring体系结构 183
12.1.2 Spring 的开发环境 184
12.2 第 一个Spring 程序 185
上机练习 188
思考题 188
第 13章 Spring控制反转 189
13.1 依赖注入 189
13.2 Spring配置文件中Bean的配置 192
13.3 Bean的作用域 192
13.4 基于xml的依赖注入 194
13.4.1 设值注入 194
13.4.2 构造注入 196
13.4.3 使用p命名空间实现属性值注入 197
13.4.4 注入各种数据类型的属性值 197
13.4.5 内部Bean注入 202
13.4.5 抽象Bean 注入 203
13.5 自动装配 205
13.5.1 byName 方式自动注入 205
13.5.2 byType 方式自动注入 206
13.6 Spring配置文件的拆分 207
13.6.1 拆分为若干个平等关系的配置文件 208
13.6.2 拆分为父子关系的若干个配置文件 208
13.7 基于注解的依赖注入 208
13.7.1 使用注解@Component定义Bean 209
13.7.2 Bean的作用域@Scope 210
13.7.3 基本类型属性注入@Value 210
13.7.4 按类型注入域属性@Autowired 211
13.7.5 按名称注入域属性@Autowired 与@Qualifier 212
13.7.6 域属性注解@Resource 213
13.7.7 xml配置方式与注解方式的比较 214
上机练习 215
思考题 215
第 14章 Spring面向切面编程 216
14.1 传统的编程模式弊端 216
14.2 AOP初试身手 219
14.3 AspectJ实现AOP 222
14.3.1 异常抛出增强 223
14.3.2 环绕增强 224
14.4 使用注解实现通知 226
14.5 使用xml配置定义切面 227
14.5.1 切面不获取切点参数 228
14.5.2 切面获取切点参数与返回值 229
上机练习 232
思考题 232
第 15章 Spring操作数据库 233
15.1 使用JdbcTemplate模板操作数据库 233
15.2 数据源的配置 239
15.2.1 DBCP数据源BasicDataSource的使用 239
15.2.2 C3P0数据源ComboPooledDataSource的使用 240
15.2.3 使用属性文件读取数据库连接信息 241
上机练习 243
思考题 243
第 16章 Spring事务管理 244
16.1 Spring 事务管理接口 244
16.1.1 事务管理器接口PlatformTransactionManager 244
16.1.2 事务定义接口TransactionDefinition 244
16.2 Spring事务管理的实现 245
16.2.1 没有事务管理的情况分析 245
16.2.2 利用xml配置实现事务管理 248
16.2.3 利用@Transactional注解实现事务管理 251
16.2.4 在业务层实现事务管理 253
上机练习 255
思考题 255
第 17章 SSH三大框架整合 256
17.1 SSH框架整合原理 256
17.2 Spring整合Hibernate 256
17.3 Spring整合Struts2 265
上机练习 269
思考题 269
第 18章 SSH项目实战 270
18.1 项目需求分析 270
18.2 数据库设计 270
18.3 搭建SSH框架 272
18.4 首页与用户登录模块 275
18.5 商品查询与分页模块 288
18.6 商品详情模块 298
18.7 购物车模块 304
18.8 订单处理与模拟结算模块 315
上机练习 325
思考题 325

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

华南农业大学数学与信息学院计算机系计算机网络教研室高级工程师。主讲《Java程序设计》《信息安全数学基础》等本科及研究生课程。 主持、参与十余项国家、省部级项目。

相关图书

  • Web数据可视化(ECharts版)

    范路桥 张良均 郑述招 肖秀娟 李明

    本书以任务为导向,全面地介绍了数据可视化的流程和ECharts数据可视化的应用,详细讲解利用ECharts解决...

    ¥59.80
  • 全栈式微信小程序云开发实战

    孙芳 梁大业 林彬

    本书系统地介绍了基于云开发的全栈式微信小程序开发流程和实用技术,涵盖从小程序前端基础到后端云函数、数据库、云存...

    ¥59.80
  • After Effects CC核心应用案例教程 (全彩慕课版)

    王玉军 邹志龙 蔡少婷 郭福 钟毅

    本书全面、系统地介绍了After Effects CC 2019的基本操作方法和视频制作技巧,包括初识Afte...

    ¥69.80
  • 大数据可视化技术

    吕云翔 姚泽良 谢吉力 张扬 郭宇光

    本书分为三部分:基础理论、大数据可视化、大数据可视化工具及应用。 基础理论部分包括第1章、第2章。第1章回顾...

    ¥56.00
  • Java Web开发技术教程

    李西明

    本书从初学者的角度出发,详细介绍了Java Web开发需要掌握的相关技术。全书分4个部分,共17章,由浅入深地...

    ¥59.80
联系客服
联系客服
人邮微信
人邮微信
微信二维码
返回顶部
返回顶部