图书介绍
开发宝典丛书 Java Web编程实战宝典-JSP+Servlet+Struts 2+Hibernate+Spring+AjaxPDF|Epub|txt|kindle电子书版本网盘下载
![开发宝典丛书 Java Web编程实战宝典-JSP+Servlet+Struts 2+Hibernate+Spring+Ajax](https://www.shukui.net/cover/47/30632778.jpg)
- 李宁,刘岩,张国平等编著 著
- 出版社: 北京:清华大学出版社
- ISBN:7302347958
- 出版时间:2014
- 标注页数:869页
- 文件大小:190MB
- 文件页数:896页
- 主题词:
PDF下载
下载说明
开发宝典丛书 Java Web编程实战宝典-JSP+Servlet+Struts 2+Hibernate+Spring+AjaxPDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1篇 Web开发基础篇2
第1章 搭建开发环境(教学视频:23分钟)2
1.1 各种软件和框架的版本2
1.2 下载与安装JDK 72
1.3 下载与安装Eclipse 43
1.4 下载与安装MyEclipse 104
1.5 下载与安装Eclipse IDE for Java EE Developers5
1.6 下载与安装Tomcat 75
1.7 在MyEclipse 中配置Tomcat7
1.8 在Eclipse IDE for Java EE Developers 中配置Tomcat8
1.9 下载与安装MySQL5数据库8
1.10 下载与安装数据库客户端软件SQLyog9
1.11 小结10
1.12 实战练习10
第2章 Java Web应用开发基础(教学视频:14分钟)11
2.1 Web技术的发展11
2.2 了解Java Web技术14
2.2.1 认识Java Web程序的基本组成14
2.2.2 认识Java Web程序的目录结构14
2.2.3 了解Java Web程序的配置文件15
2.3 了解MVC模式与MVC框架15
2.3.1 认识JSP模型1和JSP模型215
2.3.2 认识Web应用程序的基础服务16
2.3.3 MVC模式概述17
2.3.4 了解常用的MVC框架18
2.4 小结19
2.5 实战练习19
第3章 Web开发必会的客户端技术(教学视频:82分钟)20
3.1 学习客户端技术的开发工具20
3.1.1 在MyEclipse中使用HTML技术20
3.1.2 在MyEclipse中使用JavaScript技术21
3.1.3 在MyEclipse中使用CSS技术22
3.2 学习超文本标签语言HTML23
3.2.1 HTML基本构成24
3.2.2 HTML基本标签——段落格式设置标签25
3.2.3 HTML基本标签——超级链接标签26
3.2.4 HTML基本标签——图像标签27
3.2.5 HTML基本标签——表格标签29
3.2.6 HTML基本标签——框架标签30
3.2.7 HTML基本标签——表单标签32
3.3 学习JavaScript技术34
3.3.1 实例:编写第一个JavaScript程序:Greet34
3.3.2 学习变量35
3.3.3 学习原始类型36
3.3.4 掌握类型转换40
3.3.5 学习函数与函数调用42
3.3.6 学习类和对象44
3.4 其他客户端技术46
3.4.1 了解DOM46
3.4.2 获得HTML元素的3种方法48
3.4.3 实例:图像自动切换50
3.4.4 了解正则表达式52
3.4.5 实例:表格排序53
3.5 学习CSS技术56
3.5.1 了解CSS56
3.5.2 在Style属性中定义样式57
3.5.3 在HTML中定义样式57
3.5.4 在外部文件中定义样式58
3.5.5 实现样式的继承59
3.6 学习AJAX技术59
3.6.1 了解AJAX技术59
3.6.2 实例:使用XMLHttpRequest获得Web资源60
3.6.3 实例:使用XMLHttpRequest跨域访问Web资源61
3.6.4 实例:AJAX的3种交换数据方法62
3.7 小结64
3.8 实战练习65
第4章 Java Web的核心技术——Servlet(教学视频:79分钟)66
4.1 编写Servlet的Helloworld程序66
4.1.1 实例:用MyEclipse工具编写第一个Servlet程序——Helloworld66
4.1.2 实例:手工编写第一个Servlet程序——Helloworld70
4.2 学习Servlet技术72
4.2.1 配置Tomcat7服务器的数据库连接池72
4.2.2 实例:通过数据库连接池连接MySQL数据库74
4.2.3 实例:处理客户端HTTP GET请求——doGet方法76
4.2.4 实例:处理客户端HTTP POST请求——doPost方法77
4.2.5 实例:处理客户端各种请求——service方法78
4.2.6 实例:初始化(init)和销毁(destroy)Servlet80
4.2.7 实例:输出字符流响应消息——PrintWriter类82
4.2.8 实例:输出字节流响应消息——ServletOutputStream类83
4.2.9 实例:包含Web资源——RequestDispatcher.include方法84
4.2.10 实例:转发Web资源——RequestDispatcher.forward方法86
4.3 掌握HttpServletResponse类88
4.3.1 产生状态响应码88
4.3.2 设置响应消息头89
4.3.3 实例:验证响应消息头设置情况91
4.4 掌握HttpServletRequest类92
4.4.1 获取请求行消息92
4.4.2 获取网络连接消息93
4.4.3 获取请求头消息94
4.5 处理Cookie94
4.5.1 什么是Cookie94
4.5.2 认识操作Cookie的方法95
4.5.3 实例:通过Cookie技术读写客户端信息96
4.5.4 实例:通过Cookie技术读写复杂数据98
4.6 处理Session100
4.6.1 什么是Session100
4.6.2 认识操作Session的方法101
4.6.3 创建Session对象102
4.6.4 实例:通过Cookie跟踪Session103
4.6.5 实例:通过重写URL跟踪Session104
4.7 解决Web开发的乱码问题106
4.7.1 认识Java语言编码原理106
4.7.2 实例:解决输出乱码问题108
4.7.3 实例:解决服务端程序读取中文请求消息的乱码问题110
4.7.4 实例:用AJAX技术发送和接收中文信息112
4.7.5 实例:实现请求消息头和响应消息头中转输中文115
4.8 小结116
4.9 实战练习117
第5章 JSP技术(教学视频:62分钟)119
5.1 通过MyEclipse工具编写第一个JSP程序119
5.1.1 实例:编写显示服务器当前时间的JSP程序119
5.1.2 调试JSP程序122
5.1.3 改变JSP的访问路径和扩展名123
5.1.4 手动发布JSP程序124
5.2 了解JSP的运行原理124
5.2.1 了解Tomcat处理JSP页过程124
5.2.2 分析由JSP生成的Servlet代码127
5.3 学习JSP基本语法130
5.3.1 学习JSP表达式131
5.3.2 实现在JSP中嵌入Java代码131
5.3.3 学习JSP声明133
5.3.4 学习JSP表达式语言(EL)135
5.3.5 实例:利用EL函数替换HTML中的特殊字符137
5.3.6 学习JSP页面中的注释140
5.4 学习JSP指令140
5.4.1 了解JSP指令140
5.4.2 JSP指令page141
5.4.3 JSP指令include147
5.5 学习JSP内置对象149
5.5.1 内置对象out149
5.5.2 内置对象pageContext151
5.5.3 其他内置对象152
5.6 学习JSP标签154
5.6.1 包含标签<jsp:include>155
5.6.2 转发标签<jsp:forward>157
5.6.3 传参标签<jsp:param>157
5.6.4 创建Bean标签<jsp:useBean>158
5.6.5 设置属性值标签<jsp:setProperty>160
5.6.6 获取属性值标签<jsp:getProperty>162
5.7 学习JSP的标准标签库(JSTL)163
5.7.1 了解JSTL163
5.7.2 JSTL中的条件标签165
5.7.3 JSTL中的循环标签167
5.8 小结170
5.9 实战练习170
第6章 用Servlet和JSP实现注册登录系统(教学视频:28分钟)172
6.1 系统概述172
6.1.1 系统功能简介172
6.1.2 系统总体结构173
6.2 设计数据库173
6.3 实现系统的基础类174
6.3.1 实现访问数据库的DBServlet类174
6.3.2 实现MD5加密176
6.3.3 实现图形验证码177
6.4 实现注册系统179
6.4.1 实现注册Servlet类179
6.4.2 实现注册系统的主页面181
6.4.3 实现结果JSP页面184
6.5 实现登录系统185
6.5.1 实现登录Servlet185
6.5.2 实现登录系统主页面187
6.6 小结188
6.7 实战练习188
第2篇 Struts 2篇192
第7章 编写Struts 2第一个程序(教学视频:28分钟)192
7.1 Struts 2的MVC模式192
7.2 Struts 2的体系结构193
7.2.1 工作流程193
7.2.2 配置文件193
7.2.3 控制器195
7.3 Struts 2实例:图书查询系统196
7.3.1 下载和安装Struts 2196
7.3.2 编写数据处理类197
7.3.3 编写和配置Action类198
7.3.4 编写显示查询结果的JSP页面200
7.3.5 编写输入查询信息的JSP页面202
7.4 小结203
7.5 实战练习203
第8章 Struts 2进阶(教学视频:72分钟)205
8.1 认识Struts 2的基本配置205
8.1.1 配置web.xml205
8.1.2 配置struts.xml207
8.1.3 配置struts.properties210
8.1.4 学习Struts 2的DTD213
8.2 深入认识Struts 2的配置元素215
8.2.1 配置Bean216
8.2.2 配置常量(constant)217
8.2.3 配置包含(include)219
8.2.4 配置包(package)219
8.2.5 配置命名空间220
8.2.6 配置拦截器222
8.3 掌握Struts 2注释(Annotation)223
8.3.1 设置当前包的父包——ParentPackage注释223
8.3.2 指定当前包的命名空间——Namespace注释224
8.3.3 指定当前Action结果——Results与Result注释224
8.3.4 实例:通过注释配置Action225
8.4 掌握Struts 2的Action228
8.4.1 了解Action类的getter和setter方法228
8.4.2 实现Action接口229
8.4.3 继承ActionSupport类231
8.4.4 实例:用ActionContext访问Servlet API232
8.4.5 实例:通过aware拦截器访问Servlet API237
8.4.6 实例:利用动态方法处理多个提交请求239
8.4.7 实例:利用method属性处理多个提交请求241
8.4.8 使用通配符242
8.4.9 设置默认的Action245
8.5 配置跳转结果246
8.5.1 了解Struts 2的配置结果246
8.5.2 Struts 2支持的处理结果类型247
8.5.3 配置带有通配符的结果249
8.5.4 通过请求参数指定结果250
8.6 掌握模型驱动252
8.6.1 了解模型驱动——ModelDriven252
8.6.2 实例:使用模型驱动改进登录程序254
8.7 处理Struts 2中的异常256
8.7.1 了解Struts 2处理异常的原理257
8.7.2 实例:登录系统的异常处理258
8.8 小结261
8.9 实战练习261
第9章 Struts 2的拦截器(教学视频:32分钟)262
9.1 理解拦截器262
9.1.1 掌握拦截器的实现原理262
9.1.2 实例:模拟Struts 2实现一个拦截器系统265
9.2 配置Struts 2拦截器270
9.2.1 配置拦截器270
9.2.2 使用拦截器272
9.2.3 设置默认拦截器273
9.3 实例:自定义拦截器275
9.3.1 编写拦截器类276
9.3.2 配置自定义拦截器277
9.4 理解拦截器的高级技术279
9.4.1 过滤指定的方法279
9.4.2 拦截器的执行顺序282
9.4.3 应用结果监听器284
9.5 理解Struts 2内建的拦截器287
9.5.1 认识内建拦截器287
9.5.2 掌握内建拦截器的配置288
9.6 实例:编写权限验证拦截器291
9.6.1 编写权限验证拦截器类291
9.6.2 配置权限控制拦截器292
9.7 小结294
9.8 实战练习294
第10章 Struts 2的类型转换(教学视频:48分钟)295
10.1 为什么要进行类型转换295
10.1.1 了解客户端和服务端之间的数据处理过程295
10.1.2 了解传统的类型转换296
10.2 使用Struts 2类型转换器299
10.2.1 了解Struts 2内建的类型转换器300
10.2.2 实例:实现基于OGNL的类型转换器303
10.2.3 配置全局类型转换器307
10.2.4 实例:实现基于Struts 2的类型转换器309
10.2.5 实例:实现数组类型转换器311
10.2.6 实例:实现集合类型转换器314
10.3 实例:使用OGNL表达式进行类型转换316
10.4 Struts 2对Collection和Map的支持319
10.4.1 指定集合元素的类型319
10.4.2 掌握Set和索引属性321
10.5 掌握类型转换的错误处理322
10.6 小结323
10.7 实战练习324
第11章 Struts 2的输入校验(教学视频:39分钟)326
11.1 了解传统的数据校验方法326
11.1.1 用JavaScript进行客户端校验326
11.1.2 手工进行服务端校验331
11.2 了解Struts 2所支持的数据校验334
11.2.1 了解使用validate方法校验数据的原理334
11.2.2 实例:使用validate方法进行输入校验336
11.2.3 实例:使用validateXxx方法进行输入校验340
11.2.4 掌握Struts 2的输入校验流程342
11.3 使用Validation框架进行输入校验344
11.3.1 实例:服务端校验344
11.3.2 使用字段校验器和非字段校验器346
11.3.3 实现国际化错误提示信息348
11.3.4 实例:客户端校验350
11.3.5 了解校验文件的命名规则354
11.3.6 了解短路校验器356
11.4 Validation框架的内建校验器358
11.4.1 使用注册和引用校验器358
11.4.2 使用转换(conversion)校验器359
11.4.3 使用日期(date)校验器360
11.4.4 使用双精度浮点数(double)校验器361
11.4.5 使用邮件地址(email)校验器362
11.4.6 使用表达式(expression)校验器363
11.4.7 使用字段表达式(fieldexpression)校验器363
11.4.8 使用整数(int)校验器364
11.4.9 使用正则表达式(regex)校验器365
11.4.10 使用必填(required)校验器366
11.4.11 使用必填字符串(requiredstring)校验器366
11.4.12 使用字符串长度(stringlength)校验器367
11.4.13 使用网址(URL)校验器368
11.4.14 使用visitor校验器368
11.5 小结372
11.6 实战练习372
第12章 文件的上传和下载(教学视频:44分钟)374
12.1 了解文件上传原理374
12.1.1 掌握表单数据的编码方式374
12.1.2 掌握applicaiton/x-www.form-urlencoded编码方式375
12.1.3 掌握multipart/form-data编码方式378
12.2 使用Commons-FileUpload上传文件380
12.2.1 下载和安装Commons-FileUpload组件381
12.2.2 实例:上传单个文件381
12.2.3 实例:上传任意多个文件384
12.3 实例:通过Struts 2实现文件上传387
12.3.1 了解Struts 2对上传文件组件的支持387
12.3.2 编写上传文件的JSP页388
12.3.3 编写上传文件的Action类388
12.3.4 配置上传文件的Action类390
12.3.5 手工过滤上传文件的类型391
12.3.6 用fileUpload拦截器过滤上传文件的类型394
12.4 实例:通过Struts 2实现上传多个文件395
12.4.1 实例:用数组上传固定数目的文件395
12.4.2 实例:用List上传任意数目的文件399
12.5 学习文件下载400
12.5.1 解决下载文件的中文问题401
12.5.2 通过stream结果下载文件401
12.5.3 控制下载文件的授权404
12.6 小结405
12.7 实战练习405
第13章 程序的国际化(教学视频:27分钟)407
13.1 了解国际化基础407
13.1.1 程序为什么需要国际化407
13.1.2 学习编写Java国际化中的资源文件408
13.1.3 了解Java支持的语言和国家409
13.1.4 实现资源文件的中文支持410
13.1.5 编写国际化程序411
13.1.6 编写带占位符的国际化信息413
13.1.7 实例:使用资源文件编写国际化程序415
13.1.8 掌握Java国际化中的资源类417
13.1.9 实例:使用资源类编写国际化程序418
13.2 了解Struts 2的国际化基础420
13.2.1 学习Struts 2中的全局资源文件420
13.2.2 实现在Struts 2中访问国际化信息420
13.2.3 实现在Struts 2中输出带占位符的国际化信息423
13.3 学习资源文件的作用范围和加载顺序426
13.3.1 掌握包范围资源文件426
13.3.2 掌握接口范围资源文件428
13.3.3 掌握Action基类范围资源文件429
13.3.4 掌握Action范围资源文件431
13.3.5 掌握临时资源文件432
13.3.6 掌握加载资源文件的顺序433
13.4 实例:编写支持多国语言的Web应用程序434
13.4.1 通过i18n拦截器实现国际化435
13.4.2 为register.jsp页面增加语言选择列表436
13.4.3 将register.jsp页面映射成Action438
13.5 小结439
13.6 实战练习439
第14章 Struts 2的标签库(教学视频:67分钟)441
14.1 认识Struts 2标签基础441
14.1.1 了解Struts 2标签的分类441
14.1.2 使用Struts 2标签442
14.1.3 掌握Struts 2中的OGNL表达式444
14.1.4 通过OGNL表达式访问内置对象447
14.1.5 通过OGNL表达式操作集合448
14.1.6 掌握Lamdba(λ)表达式450
14.2 控制标签451
14.2.1 条件逻辑控制标签if/elseif/else451
14.2.2 数组、集合迭代标签iterator454
14.2.3 将集合以追加方式合并为新集合的标签append458
14.2.4 实现字符串分割成多个子串的标签generator460
14.2.5 实现将集合以交替方式合并为新集合的标签merge463
14.2.6 获得集合子集标签的subset464
14.2.7 对集合进行排序的标签sort466
14.3 数据标签468
14.3.1 在JSP页面中直接访问Action的标签action468
14.3.2 创建JavaBean的对象实例标签bean470
14.3.3 格式化日期/时间的标签date472
14.3.4 显示调试信息的标签debug474
14.3.5 包含Web资源的标签include475
14.3.6 为其他的标签提供参数的标签param476
14.3.7 输出指定值的标签property476
14.3.8 将指定值放到ValueStack栈顶的标签push477
14.3.9 将某个值保存在指定范围的标签set478
14.3.10 生成URL地址的标签url480
14.4 学习表单标签482
14.4.1 了解表单标签的通用属性482
14.4.2 掌握表单标签的name和value属性483
14.4.3 与表单相关的标签:form、submit和reset标签485
14.4.4 生成多个复选框的标签checkboxlist485
14.4.5 实现组合单行文本框和下拉列表框的标签combobox488
14.4.6 实现组合文本框和日期、时间选择框的标签datetimespicker490
14.4.7 生成级联列表框的标签doubleselect493
14.4.8 添加CSS和JavaScript的标签head495
14.4.9 生成可交互的两个列表框的标签optiontransferselect495
14.4.10 生成列表框的标签select497
14.4.11 生成下拉列表框选项组的标签optgroup498
14.4.12 生成多个单选框的标签radio500
14.4.13 防止多次提交表单的标签token501
14.4.14 生成高级列表框列表的标签updownselect501
14.4.15 其他常见的表单标签503
14.5 学习非表单标签503
14.5.1 显示字段错误信息的标签fielderror503
14.5.2 显示动作错误和动作消息的标签actionerror和actionmessage504
14.5.3 调用模板的标签component505
14.6 小结507
14.7 实战练习507
第15章 Struts 2对AJAX的支持(教学视频:56分钟)508
15.1 了解Struts 2的AJAX主题508
15.2 基于AJAX的输入校验510
15.2.1 下载和安装DWR框架510
15.2.2 编写具有AJAX校验功能的注册页面511
15.2.3 编写Action类512
15.2.4 设置校验规则513
15.3 在表单中使用AJAX515
15.3.1 实现可异步提交的表单515
15.3.2 实现Action类515
15.3.3 实现结果处理页面516
15.3.4 执行JavaScript代码517
15.4 发布-订阅(pub-sub)事件模型519
15.4.1 了解pub-sub事件模型的原理519
15.4.2 实现pub-sub事件模型520
15.4.3 阻止请求服务端资源523
15.5 使用Struts 2中的AJAX标签524
15.5.1 掌握div标签的基本应用524
15.5.2 通过div标签执行JavaScript527
15.5.3 手动控制div标签的更新529
15.5.4 发送异步请求的标签submit标签532
15.5.5 异步提交请求的链接a标签534
15.5.6 自运完成功能的文本框autocompleter标签537
15.5.7 生成Tab页的标签tabbedPanel标签543
15.5.8 实现树节点和树的组件:treenode和tree标签547
15.6 使用JSON插件实现AJAX549
15.6.1 下载和安装JSON插件549
15.6.2 下载和安装prototype.js549
15.6.3 实现Action类550
15.6.4 在JSP页面中通过Prototype请求Action551
15.7 小结553
15.8 实战练习553
第16章 用Struts 2实现注册登录系统(教学视频:26分钟)555
16.1 系统总体结构555
16.2 实现DAO层555
16.2.1 实现DAOSupport类556
16.2.2 实现UserDAO接口557
16.2.3 实现UserDAOImpI类557
16.3 实现Action类559
16.3.1 实现模型类(User)559
16.3.2 实现LoginAction类560
16.3.3 实现RegisterAction类562
16.4 实现输入校验563
16.4.1 校验登录页面563
16.4.2 校验注册页面564
16.5 实现表现层页面565
16.5.1 实现登录页面(login.jsp)565
16.5.2 实现注册页面(register.jsp)567
16.5.3 实现主页面(main.jsp)569
16.6 实现其他的功能569
16.6.1 使用Action类生成验证码图像569
16.6.2 使用拦截器验证页面访问权限572
16.7 小结573
16.8 实战练习574
第3篇 Hibernate篇578
第17章 Hibernate的Helloworld程序(教学视频:33分钟)578
17.1 关于Hibernate概述578
17.1.1 为什么要使用ORM578
17.1.2 Hibernate和EJB的关系579
17.2 在应用程序中使用Hibernate 4579
17.2.1 MyEclipse对Hibernate 4的支持580
17.2.2 下载和安装新版本的Hibernate 4582
17.3 实现第1个Hibernate程序583
17.3.1 开发Hibernate程序的基本步骤583
17.3.2 建立数据表584
17.3.3 建立Hibernate配置文件584
17.3.4 建立会话工厂(SessionFactory)类585
17.3.5 建立实体Bean和Struts 2的模型类588
17.3.6 建立映射文件588
17.3.7 建立添加记录的Action类589
17.3.8 建立录入信息的JSP页面591
17.4 小结593
17.5 实战练习593
第18章 实现Hibernate基本配置(教学视频:32分钟)595
18.1 用传统的方法配置Hibernate595
18.1.1 用XML文件配置Hibernate595
18.1.2 用属性文件配置Hibernate598
18.1.3 用编程的方式配置Hibernate598
18.1.4 学习Hibernate框架的配置属性599
18.1.5 掌握SQL方言(Dialect)603
18.1.6 使用JNDI数据源604
18.1.7 掌握配置映射文件605
18.2 使用注释(Annotations)配置Hibernate606
18.2.1 了解Hibernate注释606
18.2.2 安装Hibernate注释606
18.2.3 使用@Entity注释实体Bean606
18.2.4 使用@Table注释实体Bean607
18.2.5 使用@Id注释主键607
18.2.6 使用@GenericGenerator注释产生主键值609
18.2.7 使用@Basic和@Transient注释609
18.2.8 更高级的Hibernate注释610
18.3 使用注释重新实现添加信息程序610
18.3.1 使用注释配置实体Bean610
18.3.2 在Hibernate配置文件中指定实体Bean的位置611
18.3.3 使用AnnotationConfiguration类处理annotation.cfg.xml文件612
18.3.4 通过AnnotationSessionFactory类获得Session对象613
18.4 小结614
18.5 实战练习614
第19章 Hibernate的会话与O/R映射(教学视频:61分钟)616
19.1 会话(Session)的基本应用616
19.1.1 保存持久化对象616
19.1.2 判断持久化对象之间的关系617
19.1.3 装载持久化对象618
19.1.4 刷新持久化对象620
19.1.5 更新持久化对象621
19.1.6 删除持久化对象622
19.2 建立O/R映射622
19.2.1 映射主键623
19.2.2 映射复合主键623
19.2.3 实例:主键和复合主键的查询和更新624
19.2.4 映射普通属性630
19.2.5 建立组件(Component)映射630
19.2.6 实例:组件映射的应用631
19.2.7 基于注释的组件映射635
19.2.8 建立多对一(many-to-one)单向关联关系636
19.2.9 实例:多对一关系的演示637
19.2.10 基于注释的多对一关系映射641
19.2.11 建立一对多(one-to-many)的双向关联关系641
19.2.12 实例:一对多双向关联的演示642
19.2.13 基于注释的一对多映射645
19.2.14 建立基于外键的一对一(one-to-one)的关系映射646
19.2.15 实例:基于外键的一对一关系演示646
19.2.16 建立基于主键的一对一的关系映射650
19.2.17 实例:基于主键的一对一关系映射650
19.3 小结654
19.4 实战练习654
第20章 Hibernate的查询与更新技术(教学视频:43分钟)657
20.1 学习标准(Criteria)查询API657
20.1.1 实例:一个简单的例子657
20.1.2 设置查询的约束条件658
20.1.3 对查询结果进行分页661
20.1.4 实例:实现Web分页功能662
20.1.5 实现只获得一个持久化对象665
20.1.6 对查询结果进行排序666
20.1.7 实现多个Criteria之间的关联666
20.1.8 实现聚合和分组查询667
20.1.9 使用QBE(Query By Example)669
20.2 掌握HQL和SQL技术671
20.2.1 实例:使用HQL的第一个例子671
20.2.2 使用From子句简化实体Bean类名672
20.2.3 使用Select子句选择返回属性673
20.2.4 使用Where子句指定条件674
20.2.5 使用命名参数675
20.2.6 使用Query进行分页677
20.2.7 实例:使用HQL实现Web分页功能677
20.2.8 使用HQL进行排序和分组678
20.2.9 实现关联查询679
20.2.10 实现聚合函数查询681
20.2.11 使用Update和Delete语句更新持久化对象682
20.2.12 使用Insert语句插入记录683
20.2.13 掌握命名查询684
20.2.14 使用SQL查询685
20.3 小结687
20.4 实战练习687
第21章 Hibernate的高级技术(教学视频:40分钟)689
21.1 什么是事务689
21.1.1 事务的特性689
21.1.2 认识事务的隔离等级690
21.1.3 Hibernate所支持的事务管理691
21.1.4 基于JDBC的事务管理691
21.1.5 基于JTA的事务管理692
21.2 学习锁(Locking)692
21.2.1 认识悲观锁(Pessimistic Locking)693
21.2.2 认识乐观锁(Optimistic Locking)694
21.3 应用查询缓存(Query Cache)696
21.4 学习拦截器和事件697
21.4.1 了解拦截器(Interceptors)697
21.4.2 实例:编写一个Hibernate拦截器698
21.4.3 了解事件(Events)702
21.4.4 实例:编写和注册事件类703
21.5 学习过滤器705
21.6 小结706
21.7 实战练习707
第4篇 Sping篇710
第22章 Spring的第一个Helloworld程序(教学视频:16分钟)710
22.1 Spring简介710
22.1.1 了解Spring的主要特性710
22.1.2 学习Spring的核心技术711
22.2 在应用程序中使用Spring712
22.2.1 MyEclipse 10.6对Spring的支持712
22.2.2 载和安装Spring713
22.3 实例:开发一个Helloworld程序714
22.3.1 编写HelloService接口714
22.3.2 编写HelloServiceImpl类715
22.3.3 装配HelloServiceImpl类715
22.3.4 通过装配Bean的方式获得HelloService对象716
22.4 小结716
22.5 实战练习717
第23章 反向控制(Ioc)与装配JavaBean(教学视频:30分钟)718
23.1 为什么要使用反向控制(Ioc)718
23.1.1 什么是依赖注入718
23.1.2 传统解决方案的缺陷719
23.1.3 通过Ioc降低耦合度720
23.2 手动装配JavaBean721
23.2.1 掌握装配Bean的方法721
23.2.2 掌握与Bean相关的接口722
23.2.3 了解<bean>标签的常用属性723
23.2.4 装配普通属性724
23.2.5 装配集合属性727
23.2.6 设置属性值为null731
23.2.7 装配构造方法731
23.3 自动装配JavaBean734
23.4 分散配置736
23.5 定制属性编辑器738
23.6 小结742
23.7 实战练习742
第24章 Spring中的数据库技术(教学视频:25分钟)744
24.1 获得DataSource744
24.1.1 通过JNDI获得DataSource744
24.1.2 从第三方的连接池获得DataSource745
24.1.3 使用DriverManagerDataSource746
24.2 在Spring中使用JDBC746
24.2.1 装配JdbcTemplate类746
24.2.2 向数据库中写数据747
24.2.3 从数据库中读数据749
24.2.4 调用存储过程752
24.3 实现自增键753
24.4 Spring的异常处理754
24.5 在Spring中使用Hibernate755
24.5.1 集成Spring和Hibernate755
24.5.2 使用HibernateTemplate757
24.6 小结758
24.7 实战练习758
第25章 Spring的其他高级技术(教学视频:39分钟)760
25.1 Spring AOP760
25.1.1 了解AOP基本概念760
25.1.2 了解AOP术语761
25.1.3 掌握4种通知(Advice)的作用762
25.1.4 通过Advisor指定切入点768
25.1.5 使用控制流切入点771
25.2 学习Spring的事务管理773
25.2.1 实例:使用程序控制事务773
25.2.2 掌握声明式事务775
25.2.3 了解事务属性的种类778
25.2.4 设置事务属性779
25.2.5 设置特定方法的事务属性780
25.3 实例:建立和访问RMI服务782
25.4 实例:发送E-mail784
25.5 调度任务786
25.6 小结788
25.7 实战练习788
第5篇 综合实例篇792
第26章 Struts 2与Hibernate、Spring的整合(教学视频:12分钟)792
26.1 整合Struts 2和Hibernate框架792
26.1.1 整合的思路792
26.1.2 整合后的系统层次793
26.1.3 实现数据访问层793
26.1.4 实现业务逻辑层795
26.1.5 实现Struts 2和Hibernate共享实体Bean797
26.2 整合Spring框架798
26.2.1 装配数据访问层799
26.2.2 装配业务逻辑层800
26.2.3 使用Struts 2的Spring插件801
26.3 小结802
26.4 实战练习802
第27章 网络硬盘(教学视频:57分钟)804
27.1 了解系统功能804
27.1.1 系统功能简介804
27.1.2 系统架构设计806
27.2 实现数据库设计806
27.3 实现持久对象层808
27.3.1 实现用户实体Bean809
27.3.2 实现目录实体Bean810
27.3.3 实现文件实体Bean811
27.3.4 映射MySQL存储过程812
27.3.5 配置hibernate.cfg.xml813
27.4 实现数据访问层814
27.4.1 实现DAOSupport类814
27.4.2 实现UserDAO接口和UserDAOImpl类814
27.4.3 实现DirectoryDAO接口和DirectoryDAOImpl类816
27.4.4 实现FileDAO接口和FileDAOImpl类817
27.5 实现业务逻辑层819
27.5.1 实现UserService接口和UserServiceImpl类819
27.5.2 实现DirectoryService接口和DirectoryServiceImpl类820
27.5.3 实现FileService接口和FileServiceImpl类822
27.5.4 实现服务管理类825
27.5.5 配置applicationContext.xml826
27.6 实现Web表现层828
27.6.1 实现基础动作类(BaseAction)829
27.6.2 实现用户登录页面和处理登录的Action类830
27.6.3 实现注册登录页面和处理注册的Action类832
27.6.4 网络硬盘主页833
27.6.5 建立目录834
27.6.6 文件上传836
27.6.7 文件和目录下载836
27.6.8 使用拦截器控制页面访问权限841
27.6.9 其他的功能842
27.7 小结842
第28章 论坛系统(教学视频:50分钟)843
28.1 系统功能设计843
28.2 实现数据库设计844
28.3 实现持久对象层846
28.3.1 实现主题实体Bean846
28.3.2 实现回复实体Bean848
28.3.3 配置hibernate.cfg.xml849
28.4 实现数据访问层850
28.4.1 实现TopicDAO接口和TopicDAOImpl类850
28.4.2 实现ReviewDAO接口和ReviewDAOImpl类851
28.5 实现业务逻辑层852
28.5.1 实现TopicService接口和TopicServiceImpl类852
28.5.2 实现ReviewService接口和ReviewServiceImpl类855
28.5.3 实现服务管理类857
28.5.4 配置applicationContext.xml857
28.6 整合FCKEditor内容编辑组件858
28.6.1 安装FCKEditor858
28.6.2 配置FCKEditor858
28.6.3 修改FCKEditor自带的Servlet862
28.6.4 生成FCKEditor的客户端脚本862
28.7 实现Web表现层863
28.7.1 浏览主题列表863
28.7.2 发布新主题866
28.7.3 浏览某个主题和它的回复内容867
28.7.4 回复当前主题868
28.8 小结869