图书介绍
Java Web整合开发王者归来 JSP+Servlet+Struts+Hibernate+SpringPDF|Epub|txt|kindle电子书版本网盘下载
![Java Web整合开发王者归来 JSP+Servlet+Struts+Hibernate+Spring](https://www.shukui.net/cover/43/33208430.jpg)
- 刘京华等编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302209768
- 出版时间:2010
- 标注页数:1010页
- 文件大小:284MB
- 文件页数:1051页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
Java Web整合开发王者归来 JSP+Servlet+Struts+Hibernate+SpringPDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1篇 入门篇2
第1章 Java Web开发概述2
1.1 Web相关概念2
1.1.1 胖客户端程序RCP2
1.1.2 瘦客户端程序TCP2
1.1.3 B/S与C/S结构3
1.2 Web开发背景知识3
1.2.1 Web访问基本原理3
1.2.2 HTTP超文本传输协议4
1.2.3 Web浏览器5
1.2.4 Web服务器5
1.3 Web开发技术发展历史6
1.3.1 传统的Web服务器模式开发6
1.3.2 动态展现页面技术6
1.3.3 CGI实现页面的动态生成6
1.3.4 Java Servlet:改进的CGI7
1.3.5 JSP:Servlet的模板8
1.3.6 JSP基本原理9
1.4 本章小结10
第2章 搭建Java Web开发环境11
2.1 Java Web开发环境概述11
2.1.1 开发工具包JDK11
2.1.2 集成开发环境IDE12
2.1.3 Java服务器12
2.2 下载安装Java环境13
2.2.1 下载JDK13
2.2.2 安装JDK15
2.2.3 配置环境变量15
2.3 下载解压Eclipse17
2.3.1 下载Eclipse17
2.3.2 解压Eclipse17
2.4 下载MyEclipse插件18
2.4.1 下载MyEclipse插件18
2.4.2 安装MyEclipse插件19
2.4.3 启动MyEclipse19
2.5 下载Tomcat服务器20
2.5.1 下载Tomcat20
2.5.2 解压配置Tomcat21
2.5.3 设置端口号22
2.5.4 设置临时域名22
2.5.5 设置虚拟主机23
2.6 第一个Java Web程序24
2.6.1 新建Java Web项目24
2.6.2 新建Servlet25
2.7 部署到Tomcat27
2.7.1 手工部署27
2.7.2 MyEclipse自动部署28
2.7.3 导出为WAR包29
2.7.4 在MyEclipse中启动Tomcat30
2.7.5 调试程序debug模式31
2.8 本章小结34
第2篇 基础篇36
第3章 深入Servlet技术36
3.1 HTTP协议36
3.1.1 HTTP协议简介36
3.1.2 Telnet演示HTTP协议36
3.1.3 GET方式查询37
3.1.4 HTTP头数据38
3.1.5 POST方式提交数据38
3.1.6 其他访问方式38
3.2 Servlet概述39
3.2.1 Servlet工作流程39
3.2.2 Servlet接口39
3.2.3 Java Web目录结构40
3.3 编写Servlet41
3.3.1 实现Servlet41
3.3.2 配置<servlet>43
3.3.3 配置<servlet-mapping>44
3.3.4 部署Web程序44
3.4 请求与响应45
3.4.1 获取request的变量45
3.4.2 response生成图片验证码48
3.5 读取web.xml参数51
3.5.1 初始化参数(init-param)52
3.5.2 上下文参数(context-param)54
3.5.3 资源注射(@Resource)57
3.5.4 使用JNDI获取资源59
3.5.5 注射数据源59
3.6 提交表单信息59
3.6.1 GET实现搜索引擎60
3.6.2 POST提交个人信息64
3.6.3 上传文件客户端69
3.6.4 上传文件服务器端70
3.7 带进度条的文件上传72
3.7.1 工作原理73
3.7.2 上传进度条73
3.7.3 上传监听器74
3.7.4 监听上传进度75
3.7.5 读取上传进度76
3.7.6 显示上传进度77
3.8 Servlet生命周期81
3.8.1 Servlet生命周期81
3.8.2 个税计算器82
3.8.3 注解@PostConstruct与注解@PreDestroy85
3.9 Servlet之间的跳转86
3.9.1 转向(Forward)87
3.9.2 重定向(Redirect)89
3.9.3 自动刷新(Refresh)91
3.10 Servlet与线程安全92
3.10.1 一个实例92
3.10.2 线程不安全93
3.11 本章小结94
第4章 深入JSP技术95
4.1 JSP简介95
4.1.1 JSP概述95
4.1.2 显示问候语95
4.1.3 JSP工作原理97
4.1.4 JSP生命周期98
4.2 JSP语法98
4.2.1 JSP元素与模板数据98
4.2.2 JSP脚本99
4.2.3 JSP输出99
4.2.4 JSP注释100
4.2.5 JSP方法:查询IP地址100
4.2.6 JSP的if语句102
4.2.7 JSP的for循环104
4.2.8 while循环:显示邮件列表105
4.2.9 JSP的return语句106
4.2.10 JSP的break语句107
4.3 JSP指令108
4.3.1 page指令109
4.3.2 include指令110
4.3.3 taglib指令113
4.4 JSP行为113
4.4.1 <jsp:include/>行为113
4.4.2 使用Java Bean(POJO)114
4.4.3 scope实现各种计数器117
4.4.4 <jsp:plugin/>嵌入Applet119
4.4.5 <jsp:forward/>行为122
4.4.6 <jsp:directive/>行为123
4.5 JSP隐藏对象123
4.5.1 out输出流对象123
4.5.2 request请求对象124
4.5.3 response响应对象124
4.5.4 config配置对象125
4.5.5 session会话对象125
4.5.6 application应用程序对象126
4.5.7 page页面对象126
4.5.8 pageContext页面上下文对象126
4.5.9 exception异常对象127
4.6 JSP配置128
4.6.1 JSP配置128
4.6.2 <jsp-config>标签128
4.7 EL表达式129
4.7.1 EL表达式129
4.7.2 隐藏对象130
4.7.3 EL表达式运算131
4.8 本章小结133
第5章 会话跟踪134
5.1 Cookie机制134
5.1.1 什么是Cookie134
5.1.2 记录用户访问次数135
5.1.3 Cookie的不可跨域名性138
5.1.4 Unicode编码:保存中文139
5.1.5 BASE64编码:保存二进制图片140
5.1.6 设置Cookie的所有属性142
5.1.7 Cookie的有效期144
5.1.8 Cookie的修改、删除145
5.1.9 Cookie的域名145
5.1.10 Cookie的路径146
5.1.11 Cookie的安全属性146
5.1.12 JavaScript操作Cookie147
5.1.13 案例:永久登录149
5.2 Session机制152
5.2.1 什么是Session152
5.2.2 实现用户登录153
5.2.3 Session的生命周期155
5.2.4 Session的有效期155
5.2.5 Session的常用方法156
5.2.6 Session对浏览器的要求156
5.2.7 URL地址重写157
5.2.8 Session中禁止使用Cookie158
5.3 Session与Cookie的比较158
5.3.1 从存取方式上比较159
5.3.2 从隐私安全上比较159
5.3.3 从有效期上比较159
5.3.4 从对服务器的负担上比较159
5.3.5 从浏览器支持上比较160
5.3.6 从跨域名上比较160
5.4 本章小结160
第6章 过滤器Filter161
6.1 Filter概述161
6.1.1 Filter概述161
6.1.2 Filter接口162
6.1.3 Filter配置163
6.2 Filter经典案例164
6.2.1 防盗链Filter164
6.2.2 字符编码Filter165
6.2.3 日志记录Filter167
6.2.4 异常捕捉Filter169
6.2.5 权限验证Filter172
6.2.6 内容替换Filter174
6.2.7 GZIP压缩Filter177
6.2.8 图像水印Filter182
6.2.9 缓存Filter186
6.2.10 XSLT转换Filter191
6.2.11 文件上传Filter194
6.3 本章小结197
第7章 监听器Listener198
7.1 Listener概述198
7.1.1 Listener的概述198
7.1.2 Listener的使用198
7.2 Listener的分类199
7.2.1 监听对象的创建与销毁199
7.2.2 实例:监听Session、request与servletContext200
7.2.3 监听对象的属性变化201
7.2.4 监听Session内的对象203
7.3 Listener使用案例205
7.3.1 单态登录205
7.3.2 显示在线用户209
7.4 本章小结214
第3篇 高级篇216
第8章 JSTL标签库216
8.1 JSTL概述216
8.1.1 什么是标签216
8.1.2 一个标签实例216
8.1.3 为什么使用标签217
8.1.4 JSTL标签库218
8.2 JSTL的core标签库218
8.2.1 <c:out/>标签218
8.2.2 <c:if/>标签219
8.2.3 <c:choose/>、<c:when/>、<c:otherwise/>标签220
8.2.4 <c:forEach/>显示偶数221
8.2.5 <c:forEach/>标签遍历List222
8.2.6 <c:forEach/>标签遍历Map对象223
8.2.7 <c:forEach/>标签的varStatus属性224
8.2.8 <c:forTokens/>标签225
8.2.9 <c:set/>实现计数器226
8.2.10 <c:remove/>标签228
8.2.11 <c:catch/>捕捉异常228
8.2.12 <c:import/>导入网络资源228
8.2.13 <c:url/>标签230
8.2.14 <c:redirect/>标签231
8.2.15 <c:param/>标签231
8.3 JSTL的fmt标签库231
8.3.1 <frnt:requestEncoding/>设置编码232
8.3.2 <fmt:setLocale/>显示所有地区的数据格式232
8.3.3 <fmt:timeZone/>显示全球时间234
8.3.4 <fmt:setTimeZone/>设置时区236
8.3.5 <fmt:bundle/>、<fmt:message/>、<fmt:param/>资源国际化236
8.3.6 <fmt:setBundle/>标签238
8.3.7 <fmt:formatNumber/>显示不同地区的各种数据格式238
8.3.8 <fmt:parseNumber/>解析数字240
8.3.9 <fmt:formatDate/>格式化日期241
8.3.10 <fmt:parseDate/>解析日期241
8.4 JSTL的向方法库242
8.4.1 fn:contains()显示用户浏览器、操作系统242
8.4.2 fn:containsIgnoreCase()方法243
8.4.3 fn:endsWith()显示文件格式243
8.4.4 fn:startsWith()方法244
8.4.5 fn:escapeXml()实现HTML编码245
8.4.6 fn:indexOf()方法245
8.4.7 fn:split()分割字符246
8.4.8 fn:join()联合字符247
8.4.9 fn:length()方法247
8.5 JSTL的SQL标签库248
8.5.1 <sql:setDataSource/>设置数据源248
8.5.2 <sql:query/>查询表数据249
8.5.3 <sql:query/>分页显示250
8.5.4 <sql:query/>结果集的动态遍历251
8.5.5 <sql:update/>更新表数据253
8.5.6 <sql:param/>,<sql:dateParam/>设置日期参数254
8.5.7 <sql:transaction/>事务管理255
8.6 JSTL的XML标签库257
8.6.1 <x:parse/>获取新浪RSS新闻257
8.6.2 <x:out/>输出指定元素259
8.6.3 <x:forEach/>遍历新浪RSS新闻260
8.6.4 <x:if/>标签261
8.6.5 <x:choose/>、<x:when/>、<x:otherwise/>标签261
8.6.6 <x:set/>标签262
8.6.7 <x:transform/>转化XML为HTML262
8.7 本章小结264
第9章 自定义标签265
9.1 编写自定义标签265
9.1.1 版权标签265
9.1.2 tld标签库描述文件267
9.1.3 方法的调用顺序268
9.1.4 使用TagSupport269
9.1.5 带参数的标签270
9.1.6 带多个参数的标签271
9.1.7 带标签体的自定义标签272
9.1.8 多次执行的循环标签274
9.1.9 带动态属性的自定义标签276
9.2 嵌套的自定义标签277
9.2.1 实例:表格标签277
9.2.2 嵌套标签的配置278
9.2.3 table父标签279
9.2.4 column子标签281
9.2.5 运行效果282
9.3 JSP 2.x标签282
9.3.1 SimpleTag接口282
9.3.2 带标签体的JSP 2.x标签283
9.3.3 带多个标签体的JSP 2.x标签285
9.4 编写自定义方法287
9.4.1 自定义方法287
9.4.2 方法描述文件288
9.5 本章小结290
第10章 资源国际化291
10.1 资源国际化简介291
10.1.1 I18N291
10.1.2 I10N291
10.2 资源国际化291
10.2.1 资源国际化示例292
10.2.2 资源文件编码292
10.2.3 显示所有Locale代码294
10.2.4 带参数的资源297
10.2.5 ResourceBundle类297
10.2.6 Servlet的资源国际化298
10.2.7 显示所有Locale的数字格式298
10.2.8 显示全球时间301
10.3 本章小结302
第11章 数据库概述303
11.1 数据库简介303
11.1.1 发展历史303
11.1.2 数据库模型304
11.1.3 SQL、DDL与DML304
11.2 MySQL数据库305
11.2.1 MySQL安装与配置305
11.2.2 MySQL启动与关闭305
11.2.3 bin目录下的程序306
11.2.4 登录MySQL306
11.2.5 MySQL控制台307
11.2.6 控制台信息307
11.3 DDL SQL语句309
11.3.1 列出数据库模式309
11.3.2 切换数据库模式309
11.3.3 列出数据表310
11.3.4 查看表结构310
11.3.5 创建数据库模式310
11.3.6 删除数据库模式311
11.3.7 修改数据库模式311
11.3.8 创建表311
11.3.9 删除表312
11.3.10 修改表312
11.4 DML SQL语句313
11.4.1 插入数据313
11.4.2 查询数据313
11.4.3 删除数据314
11.4.4 修改数据314
11.4.5 创建,删除,授权用户315
11.4.6 批量执行SQL语句315
11.5 MySQL客户端工具316
11.5.1 MySQL图形界面工具316
11.5.2 MyEclipse管理工具318
11.6 Apache Derby319
11.6.1 Derby概述319
11.6.2 Derby的使用320
11.6.3 使用嵌入式Derby记录日志320
11.7 本章小结322
第12章 JDBC详解323
12.1 JDBC简介323
12.1.1 查询实例:列出人员信息323
12.1.2 各种数据库的连接326
12.2 MySQL的乱码解决327
12.2.1 MySQL的乱码解决327
12.2.2 从控制台修改编码327
12.2.3 从配置文件修改编码328
12.2.4 利用图形界面工具修改328
12.2.5 URL中指定编码方式329
12.3 JDBC基本操作:CRUD329
12.3.1 查询数据库329
12.3.2 插入人员信息329
12.3.3 注册数据库驱动331
12.3.4 获取自动插入的ID332
12.3.5 删除人员信息333
12.3.6 修改人员数据334
12.3.7 使用PreparedStatement340
12.3.8 Statement批处理SQL341
12.3.9 PreparedStament批处理SQL342
12.4 处理结果集344
12.4.1 查询多个结果集344
12.4.2 可以滚动的结果集344
12.4.3 Pagination分页显示344
12.4.4 带条件的查询350
12.4.5 ResultSetMetaData元数据354
12.4.6 直接显示中文列名355
12.5 JDBC高级应用356
12.5.1 DAO模式与Java Bean356
12.5.2 事务实例:转账362
12.5.3 抛出异常自动回滚364
12.5.4 存储二进制数据365
12.5.5 读取二进制数据368
12.5.6 数据源(连接池)369
12.6 本章小结371
第13章 XML概述372
13.1 初识XML372
13.1.1 什么是XML372
13.1.2 XML的用途373
13.1.3 XML的技术架构374
13.1.4 XML开发工具375
13.2 XML基本语法375
13.2.1 XML文档的基本结构375
13.2.2 标记必须闭合376
13.2.3 必须合理地嵌套376
13.2.4 XML元素377
13.2.5 XML属性377
13.2.6 只有一个根元素378
13.2.7 大小写敏感378
13.2.8 空白被保留378
13.2.9 注释的写法379
13.2.10 转义字符的使用379
13.2.11 CDATA的使用379
13.3 JDK中的XML API380
13.4 XML解析模型380
13.4.1 DOM解析380
13.4.2 SAX解析383
13.5 XML与Java类映射JAXB385
13.5.1 什么是XML与Java类映射385
13.5.2 JAXB的工作原理386
13.5.3 Java对象转化成XML(marshal)387
13.5.4 XML转化为Java对象(unmarshal)389
13.5.5 更为复杂的映射390
13.6 本章小结392
第4篇 Struts框架篇第14章 Struts 1.x概述394
14.1 Straats简介394
14.1.1 Struts概述394
14.1.2 MVC概述395
14.2 第一个Struts 1.x实例395
14.2.1 添加Struts特性395
14.2.2 创建HelloAction397
14.2.3 完成HelloAction400
14.2.4 添加输入页JSP400
14.2.5 添加输出页402
14.3 Struts工作流程403
14.4 Struts配置文件404
14.4.1 Struts配置文件详解404
14.4.2 多个struts-config.xml405
14.4.3 配置命名空间406
14.5 Form Bean实例:提交用户信息406
14.5.1 用户信息对应的Form Bean406
14.5.2 用户信息输入页面407
14.5.3 用户信息校验409
14.5.4 Form Bean中使用Person实体类411
14.6 Action的配置412
14.6.1 Action与ActionForward配置412
14.6.2 把JSP配置为Action413
14.7 Action实例:保存用户信息到数据库414
14.7.1 在struts-config.xml中配置数据源414
14.7.2 Person类代码415
14.7.3 数据表设计416
14.7.4 Action代码:保存用户信息416
14.7.5 Form Bean代码:用户信息表单418
14.7.6 Action代码:列出用户信息418
14.7.7 DAO层代码:保存、列出用户信息419
14.7.8 JSP代码:添加、列出用户信息421
14.8 Struts 1.x的线程安全423
14.8.1 Action是线程不安全的424
14.8.2 Form Bean是线程安全的424
14.9 本章小结424
第15章 Struts 1.x高级应用425
15.1 Struts 1.x标签库425
15.1.1 html标签库425
15.1.2 bean标签库428
15.1.3 logic标签库429
15.1.4 nested标签库430
15.1.5 tiles标签库433
15.2 DispatchAction438
15.2.1 利用action参数分发438
15.2.2 DispatchAction438
15.2.3 配置DispatchAction439
15.3 上传文件439
15.3.1 FormFile类型439
15.3.2 保存FormFile440
15.4 Validator自动校验数据442
15.4.1 支持自动校验的ValidatorForm442
15.4.2 Validate规则配置442
15.4.3 错误信息配置443
15.4.4 配置到struts-config.xml中444
15.4.5 配置客户端JavaScript校验444
15.5 动态属性Form Bean445
15.5.1 动态属性表单DynaActionForm445
15.5.2 Action中获取动态属性446
15.5.3 JSP中使用动态属性446
15.6 异常处理447
15.6.1 异常捕捉ExceptionHandler447
15.6.2 配置ExceptionHandler447
15.7 struts-config.xml中使用通配符448
15.8 本章小结448
第16章 Struts 2.x概述450
16.1 Struts 2.x简介450
16.1.1 Struts 2简介450
16.1.2 Struts 2与WebWork 2的关系450
16.2 第一个Struts 2实例451
16.2.1 下载Struts 2类库451
16.2.2 登录功能Action451
16.2.3 Struts 2配置文件452
16.2.4 JSP登录页面453
16.2.5 配置web.xml454
16.2.6 更改action后缀455
16.3 Struts 2工作流程455
16.3.1 Struts 2工作流程456
16.3.2 Struts 2的线程安全456
16.3.3 程序入口FilterDispatcher456
16.4 Struts 2配置文件457
16.4.1 struts.properties457
16.4.2 struts.xml457
16.4.3 配置package458
16.4.4 配置命名空间458
16.5 Action详解459
16.5.1 AcfionSupport类459
16.5.2 Action接口459
16.5.3 不继承任何类的Action460
16.5.4 Action的可执行方法460
16.5.5 通过URL执行Action的方法461
16.5.6 将执行方法配置到Action461
16.6 Struts 2的零配置462
16.6.1 通过@注解实现Action零配置462
16.6.2 web.xml中指定Action目录463
16.6.3 零配置的Action访问方式463
16.7 Action中使用POJO464
16.7.1 图书管理Action464
16.7.2 图书实体Book类465
16.7.3 通配符配置Action465
16.7.4 JSP添加、列表页面466
16.8 本章小结467
第17章 Struts 2.x高级应用469
17.1 数据类型转换器469
17.1.1 实例:日期转换器469
17.1.2 配置转换器470
17.1.3 Action代码示例471
17.1.4 为Action配置转换器472
17.2 获取request、response473
17.2.1 利用ServletActionContext的静态方法473
17.2.2 利用相关的Aware接口474
17.3 使用Validator校验数据475
17.3.1 使用XML配置数据校验Validator475
17.3.2 配置客户端Validator476
17.3.3 常用的Validator477
17.3.4 使用@Java注解配置Validator477
17.4 本章小结478
第18章 Struts 2.x标签479
18.1 Struts 2.x标签479
18.1.1 Struts 2标签与EL表达式479
18.1.2 Struts 2标签tld文件479
18.2 OGNL语言479
18.2.1 OGNL概述479
18.2.2 “#”声明OGNL表达式480
18.2.3 “%”显式声明OGNL表达式483
18.2.4 “$”在资源文件中引用OGNL表达式483
18.3 控制标签483
18.3.1 if、elseif、else标签控制流程483
18.3.2 append标签连接多个List485
18.3.3 generator标签将字符转化为List486
18.3.4 iterator标签遍历集合486
18.3.5 merge标签取集合的并集487
18.3.6 subset标签过滤集合元素487
18.4 数据标签488
18.4.1 action标签包含action页面489
18.4.2 bean标签引用Java Bean489
18.4.3 date标签输出日期489
18.4.4 i18n、text标签声明资源国际化490
18.4.5 include标签包含JSP页面491
18.4.6 param标签传递参数491
18.4.7 set标签设置变量值491
18.4.8 property标签输出变量值492
18.5 表单UI标签492
18.5.1 form标签输出表单492
18.5.2 textfield、textarea、file、checkbox、radio标签493
18.5.3 select、autocomplete标签下拉框494
18.5.4 使用动态数据的autocomplete标签495
18.5.5 checkboxlist标签多选框组497
18.5.6 combobox标签复合框498
18.5.7 datetimepicker标签日期选择器498
18.5.8 doubleselect标签联动选择框499
18.5.9 optiontransferselect标签500
18.5.10 optgroup标签选项组502
18.6 非表单UI标签503
18.6.1 debug标签输出调试信息503
18.6.2 fielderror、actionerror、actionmessage标签错误信息504
18.6.3 div、submit、a标签实现无刷新获取数据505
18.6.4 无刷新实现登录、注销508
18.6.5 tabbedPanel标签页510
18.6.6 tree标签输出树512
18.6.7 使用tree显示文件结构513
18.6.8 使用tree动态加载数据515
18.7 本章小结517
第19章 Struts 2.x拦截器与文件上传519
19.1 使用拦截器519
19.1.1 timer计时拦截器519
19.1.2 token防重复提交拦截器520
19.1.3 execAndWait执行等待拦截器522
19.1.4 自定义的权限验证拦截器524
19.2 上传文件525
19.2.1 上传文件的Action525
19.2.2 上传文件的JSP表单527
19.2.3 上传文件相关的设置528
19.2.4 错误信息设置529
19.2.5 上传多个文件529
19.3 本章小结530
第5篇 Hibernate框架篇第20章 Hibernate入门532
20.1 Hibernate简介532
20.1.1 ORM概述532
20.1.2 认识Hibernate532
20.1.3 Hibernate的原理533
20.2 第一个Hibernate程序533
20.2.1 添加Hibernate特性533
20.2.2 添加Hibernate的Jar535
20.2.3 配置Cat实体类535
20.2.4 修改Hibernate配置文件536
20.2.5 修改Hibernate工具类537
20.2.6 初始化MySQL数据库538
20.2.7 配置Log4J538
20.2.8 执行Hibernate程序539
20.3 第一个Hibernate Web程序541
20.3.1 DAO层代码541
20.3.2 Servlet层代码543
20.3.3 列出所有的Cat544
20.3.4 添加Cat546
20.3.5 修改Cat548
20.3.6 删除Cat549
20.4 本章小结550
第21章 从宏观上把握Hibernate551
21.1 Hibernate体系结构551
21.2 Hibernate的相关概念551
21.3 可持久化对象的状态552
21.4 Hibernate配置参数552
21.4.1 配置文件hibernate.properties、hibernate.cfg.xml552
21.4.2 编程式配置、运行时配置553
21.4.3 获取SessionFactory554
21.4.4 获取、断开数据库连接554
21.4.5 可选的配置参数555
21.4.6 Hibernate日志557
21.5 本章小结558
第22章 Hibernate实体映射559
22.1 实体类映射559
22.1.1 @注解配置559
22.1.2 XML文件配置560
22.1.3 配置到hibernate.cfg.xml中561
22.2 主键映射561
22.2.1 @配置主键561
22.2.2 XML配置主键562
22.3 主键生成规则562
22.3.1 @主键生成规则562
22.3.2 XML主键生成规则563
22.4 普通属性映射564
22.4.1 @配置普通属性564
22.4.2 XML配置普通属性565
22.5 日期属性配置565
22.5.1 @配置日期属性565
22.5.2 XML配置日期属性566
22.6 临时属性映射566
22.7 版本属性配置566
22.7.1 乐观锁与悲观锁566
22.7.2 @配置乐观锁567
22.7.3 XML配置乐观锁567
22.8 本章小结567
第23章 Hibernate实体关系映射568
23.1 单边的一对多关系:电子邮件管理568
23.1.1 UML、数据库关系568
23.1.2 @配置Person2类568
23.1.3 @配置Email类569
23.1.4 配置到Hibernate.cfg.xml中570
23.1.5 运行代码570
23.1.6 延迟加载与即时加载572
23.1.7 延迟加载异常572
23.1.8 XML配置Person类574
23.1.9 XML配置Email类575
23.1.10 加载XML配置的实体575
23.1.11 配置String类型的实体576
23.2 单边的多对一关系:论文管理578
23.2.1 UML、数据库关系578
23.2.2 @配置Type类578
23.2.3 @配置Article类579
23.2.4 配置到Hibernate.cfg.xml579
23.2.5 运行代码580
23.2.6 XML配置Type类581
23.2.7 XML配置Article类581
23.3 双边的多对一、一对多关系:学生属性582
23.3.1 UML、数据库关系582
23.3.2 @配置Clazz类583
23.3.3 @配置Student类584
23.3.4 配置到Hibernate.cfg.xml584
23.3.5 运行代码585
23.3.6 XML配置Clazz类586
23.3.7 XML配置Student类587
23.4 单边的多对多关系:论坛文章管理588
23.4.1 UML、数据库关系588
23.4.2 @配置Tag类588
23.4.3 @配置Post类589
23.4.4 运行代码590
23.4.5 XML配置Tag类592
23.4.6 XML配置Post类592
23.5 双边的多对多关系593
23.5.1 @配置Tag类593
23.5.2 XML配置Tag类593
23.6 单边的一对一关系:舰船管理594
23.6.1 UML、数据库关系594
23.6.2 @配置Ship类594
23.6.3 @配置Sailor类595
23.6.4 运行代码596
23.6.5 XML配置Ship类597
23.6.6 XML配置Sailor类598
23.7 双边的一对一关系598
23.7.1 @配置Ship类599
23.7.2 XML配置Ship类599
23.8 主键相同的一对一关系:客户地址管理599
23.8.1 UML、数据库关系599
23.8.2 @配置Customer类600
23.8.3 @配置Address类600
23.8.4 运行代码601
23.8.5 XML配置Customer类603
23.8.6 XML配置Address类603
23.9 Map映射604
23.9.1 @MapKey配置Map604
23.9.2 XML配置Map604
23.10 本章小结605
第24章 Hibernate查询语言HQL606
24.1 HQL基础查询606
24.1.1 HQL语法606
24.1.2 HQL大小写不敏感606
24.1.3 使用Package名606
24.2 返回类型607
24.2.1 查询单个的对象607
24.2.2 返回集合属性607
24.3 同时返回多个对象608
24.3.1 返回Obiect口数组608
24.3.2 返回List类型608
24.3.3 返回Map类型608
24.3.4 返回Java实体对象609
24.4 条件查询609
24.4.1 where子句语法609
24.4.2 HQL支持的运算符609
24.5 统计函数610
24.6 HQL分页显示611
24.7 HQL级联查询611
24.7.1 跨表查询611
24.7.2 级联查询611
24.8 使用SQL数据库612
24.8.1 使用SQLQuery612
24.8.2 返回实体类型612
24.9 命名常用的查询612
24.9.1 @配置命名查询613
24.9.2 设置查询扩展613
24.9.3 设置多个命名查询613
24.9.4 XML配置命名查询614
24.10 本章小结615
第25章 Hibernate高级查询616
25.1 单一实体类的查询616
25.1.1 员工实体类Employee查询616
25.1.2 员工管理EmployeeServlet619
25.1.3 查询员工的JSP代码621
25.1.4 JSP显示页面624
25.1.5 使用参数查询626
25.2 实体间关系的查询627
25.2.1 部门实体类Department类628
25.2.2 部门管理DepartmentServlet629
25.2.3 显示部门的JSP代码631
25.2.4 添加部门代码(Ajax方式查询经理)633
25.2.5 修改员工时选择部门638
25.3 ioin级联查询642
25.3.1 SQL中的join643
25.3.2 Hibernate中的join645
25.4 本章小结648
第6篇 Spring框架篇第26章 Spring概述650
26.1 Spring框架650
26.1.1 Spring背景650
26.1.2 Spring容器650
26.2 一个依赖注入的例子650
26.2.1 一个普通程序的例子651
26.2.2 Dao接口及实现652
26.2.3 Service接口及实现652
26.2.4 组装DAO与Service653
26.2.5 运行代码654
26.2.6 反向控制的原理654
26.2.7 面向切面编程的原理654
26.3 一个切面编程的例子655
26.3.1 实现拦截器接口655
26.3.2 AOP配置拦截器655
26.3.3 运行代码656
26.4 Spring框架的组成657
26.5 本章小结658
第27章 Spring的Core模块659
27.1 BeanFactory工厂659
27.1.1 实例化BeanFactory659
27.1.2 XmlBeanFactory配置格式660
27.2 配置Java Bean660
27.2.1 基本配置<bean>660
27.2.2 工厂模式factory-method661
27.2.3 构造函数<constructor-arg>661
27.2.4 单态模式singleton662
27.2.5 配置属性<property>662
27.2.6 设置对象属性<ref>663
27.2.7 配置List属性<list>663
27.2.8 配置Set属性<set>664
27.2.9 配置Map属性<map>664
27.2.10 配置Properties属性<props>664
27.2.11 <idref>与<ref>的区别665
27.2.12 设置destroy-method销毁方法665
27.2.13 设置depends-on依赖对象665
27.2.14 初始化方法init-method665
27.3 属性自动装配autowire666
27.3.1 配置autowire自动装配666
27.3.2 autowire取值范围666
27.4 依赖检查dependency667
27.4.1 配置dependency依赖检查667
27.4.2 dependency属性取值范围667
27.5 Bean的高级特性667
27.5.1 BeanNameAware接口获取Bean的id668
27.5.2 BeanFactoryAware接口获取BeanFactory668
27.5.3 InitializingBean接口执行初始化方法668
27.5.4 DisposableBean接口执行销毁方法669
27.6 BeanFactory高级特性669
27.7 属性覆盖器669
27.7.1 配置PropertyOverrideConfigurer属性覆盖器669
27.7.2 properties配置670
27.8 本章小结670
第28章 Spring的AOP模块671
28.1 实例:使用拦截器拦截方法671
28.1.1 Service接口671
28.1.2 Service实现代码671
28.1.3 方法前拦截器检查name是否为null672
28.1.4 返回后拦截器输出返回值673
28.1.5 异常拦截器捕获异常673
28.1.6 拦截器配置674
28.1.7 运行代码675
28.2 拦截器与Filter的区别676
28.3 AOP的相关概念676
28.4 AOP的代理模式677
28.4.1 ProxyFactoryBean代理工厂对象677
28.4.2 TransactionProxyFactoryBean事务代理工厂对象677
28.5 本章小结678
第29章 Spring的DAO模块679
29.1 实例:保存Person实体679
29.1.1 实体类Person代码679
29.1.2 DAO层接口679
29.1.3 继承JdbcDaoSupport680
29.1.4 Spring配置681
29.1.5 运行代码682
29.2 返回实体对象683
29.2.1 MappingSqlQuery实现代码683
29.2.2 使用MappingSqlQuery683
29.2.3 SqlUpdate执行更新684
29.2.4 SqlFunction返回单一结果684
29.3 Spring事务管理685
29.3.1 TransactionRun代码685
29.3.2 配置事务686
29.3.3 运行代码687
29.4 本章小结687
第30章 Spring的ORM模块688
30.1 实例:保存Cat实体688
30.1.1 Cat实体类代码688
30.1.2 DAO层接口689
30.1.3 继承HibernateDaoSupport689
30.2 配置集成Hibernate690
30.2.1 在Spring中配置Hibernate690
30.2.2 运行代码691
30.2.3 配置XML文件实体692
30.3 管理Hibernate事务693
30.3.1 Service接口693
30.3.2 Service实现代码693
30.3.3 在Service层配置事务694
30.4 本章小结695
第31章 Spring的Web模块696
31.1 整合Struts 1.x:继承方式696
31.1.1 CatForm代码696
31.1.2 CatAction添加、列出所有Cat697
31.1.3 Struts配置文件698
31.1.4 异常处理页面699
31.1.5 添加、显示Cat页面699
31.1.6 在web.xml中配置Spring、Struts700
31.1.7 添加OpenSessionInViewerFilter702
31.1.8 其他方式加载Spring配置702
31.2 整合Struts 1.x:代理方式703
31.2.1 Cat2Action添加、列出所有Cat703
31.2.2 Struts配置文件704
31.2.3 Spring配置文件705
31.3 整合Struts 2.x706
31.3.1 CatAction添加、列出所有Cat706
31.3.2 在Struts 2配置文件中配置Spring707
31.3.3 在Spring配置文件中配置Action708
31.3.4 在web.xml配置中配置Spring、Struts 2708
31.3.5 JSP代码709
31.4 本章小结710
第32章 Spring的MVC模块711
32.1 MVC的控制层711
32.1.1 MVC的控制层711
32.1.2 Spring MVC的优缺点712
32.2 MVC的视图层712
32.3 MVC配置713
32.4 web.xml配置714
32.5 多业务分发器715
32.5.1 MultiActionController分发控制器715
32.5.2 配置分发参数716
32.6 本章小结717
第33章 Spring开发实例(SSH、SSJ)718
33.1 实例一:访问统计系统(结合Struts 1、Hibernate)718
33.1.1 访问记录718
33.1.2 在线用户719
33.1.3 工作原理719
33.1.4 系统构架721
33.2 服务器端统计代码721
33.2.1 实体类代码721
33.2.2 DAO层代码723
33.2.3 DAO层配置725
33.2.4 数据源的附加配置727
33.2.5 Action代码727
33.2.6 计算IP地址、搜索关键词731
33.2.7 配置Spring到web.xml中732
33.3 访问信息列表733
33.3.1 访问信息列表733
33.3.2 在线用户列表736
33.4 实例二:邮件发送系统(结合Struts 2、JPA)737
33.4.1 实体类代码737
33.4.2 DAO层代码738
33.4.3 JPA的配置文件739
33.4.4 Spring的邮件发送器740
33.4.5 发送简单文本邮件741
34.4.6 Struts 2的配置文件744
34.4.7 Spring的配置文件744
34.4.8 web.xml配置文件746
33.4.9 发送HTML邮件747
33.4.10 已发送邮件列表751
33.5 Spring定时任务753
33.5.1 JDK中的定时任务754
33.5.2 Spring中的定时任务755
33.5.3 定时任务配置757
33.5.4 定时器触发时间配置758
33.6 小结760
第7篇 EJB与Web服务篇第34章 EJB 3概述762
34.1 EJB技术概述762
34.1.1 什么是EJB762
34.1.2 EJB类型763
34.2 下载和安装JBoss服务器763
34.2.1 下载JBoss764
34.2.2 JBoss的目录结构764
34.2.3 MyEclipse中配置JBoss765
34.2.4 启动JBoss服务器767
34.3 实例:HelloEJBService767
34.3.1 新建EJB工程767
34.3.2 定义EJB业务接口768
34.3.3 编写SessionBean768
34.3.4 EJB的部署769
34.4 运行EJB771
34.4.1 客户端调用EJB771
34.4.2 Web应用调用EJB773
34.5 EJB其他的相关技术规范775
34.6 本章小结775
第35章 JPA规范776
35.1 JPA概述776
35.1.1 JPA的出现776
35.1.2 JPA规范776
35.1.3 JPA与EJB 3777
35.1.4 Java EE容器777
35.2 实例:保存Student实体类777
35.2.1 Student代码777
35.2.2 StudentServlet添加、列出所有Student778
35.2.3 persistence.xml代码780
35.2.4 配置JBoss服务器781
35.2.5 运行JPA程序782
35.3 JPA的API783
35.3.1 实体类配置783
35.3.2 获取EntityManager783
35.3.3 实体类的状态784
35.3.4 持久化persist()784
35.3.5 查找find()与getReference()784
35.3.6 保存merge()785
35.3.7 删除remove()785
35.3.8 刷新refresh()和包含contains()785
35.3.9 查询createQuery()785
35.3.10 本地查询createNativeQueryO786
35.3.11 写入数据库flush()786
35.3.12 设定写入模式setFlushModel()786
35.3.13 返回实现者getDelegate()786
35.3.14 清除对象clear()786
35.4 本章小结787
第36章 Web Service框架XFire788
36.1 XFire概述788
36.1.1 什么是XFire788
36.1.2 下载XFire789
36.1.3 XFire的目录结构789
36.2 XFire开发起步790
36.2.1 配置Web服务项目790
36.2.2 配置文件清单791
36.2.3 开发一个Web服务792
36.2.4 发布Web服务794
36.3 Web服务客户端796
36.3.1 MyEclipse客户端796
36.3.2 SDK方式的客户端797
36.3.3 根据WSDL生成的客户端799
36.4 Web服务安全800
36.4.1 SOAP Header中进行身份验证800
36.4.2 WS-Security进行身份验证803
36.4.3 用户名/密码方式805
36.4.4 数字签名(Signature)807
36.4.5 加密(Encryption)810
36.5 XFire与Spring集成812
36.5.1 配置Spfing Bean812
36.5.2 配置XFire Servlet812
36.5.3 配置Web服务Bean813
36.5.4 配置各种Handler814
36.6 本章小结816
第8篇 工具篇818
第37章 版本管理工具SVN818
37.1 Subversion概述818
37.1.1 什么是版本控制818
37.1.2 什么是Subversion818
37.1.3 Subversion的历史819
37.1.4 Subversion的优势819
37.1.5 Subversion的技术架构820
37.2 下载和安装Subversion821
37.2.1 Subversion的版本822
37.2.2 下载Subversion823
37.2.3 安装Subversion823
37.3 配置Subversion服务器824
37.3.1 创建资源库825
37.3.2 设置访问用户826
37.3.3 启动Subversion服务828
37.3.4 Subversion的常用命令829
37.4 使用Subversion客户端TortoiseSVN829
37.4.1 下载和安装TortoiseSVN829
37.4.2 浏览资源库830
37.4.3 在资源库中增加文件夹831
37.4.4 导入文件到资源库(import)833
37.4.5 从资源库中迁出(checkout)835
37.4.6 更新(update)——修改——提交(commit)836
37.4.7 锁定(lock)——修改——提交——解锁839
37.4.8 解决冲突的办法839
37.4.9 查看修改日志842
37.4.10 历史版本的比较844
37.4.11 恢复到之前的版本845
37.4.12 TortoiseSVN的配置846
37.5 与Eclipse集成846
37.5.1 下载和安装Subclipse846
37.5.2 在Eclipse中新建资源库848
37.5.3 将Eclipse项目与资源库中的文件同步849
37.5.4 在Eclipse中使用的其他功能850
37.6 本章小结850
第38章 日志工具commons-logging与Log4J851
38.1 日志概述851
38.1.1 日志的原理851
38.1.2 JDK 1.4的Logging852
38.1.3 Log4i控件853
38.1.4 commons-logging控件854
38.2 Log4i控件855
38.2.1 Log4j概述856
38.2.2 Log4j的执行效率856
38.2.3 优化日志代码856
38.2.4 Log4j.properties配置文件857
38.2.5 使用其他配置文件857
38.2.6 Log4j.xml配置文件858
38.3 日志记录器Logger858
38.3.1 日志记录器Logger858
38.3.2 Logger的配置858
38.3.3 rootLogger配置859
38.3.4 类别category配置859
38.4 输出地Appender859
38.4.1 输出到控制台860
38.4.2 输出到文件860
38.4.3 输出到按大小滚动文件861
38.4.4 输出到按日期滚动文件861
38.4.5 输出到JDBC数据库862
38.4.6 输出到SOCKET套接字864
38.4.7 输出到SMTP邮件864
38.4.8 自定义输出865
38.5 日志格式化器Layout867
38.5.1 PatternLayout布局867
38.5.2 HTMLLayout布局868
38.5.3 XMLLayout布局868
38.6 本章小结870
第39章 报表图形引擎JFreeChart871
39.1 JFreeChart简介871
39.1.1 下载JFreeChart871
39.1.2 核心类包介绍872
39.2 图形的输出方式872
39.2.1 在SerVlet生成图片872
39.2.2 直接生成图片文件876
39.3 输出柱形图877
39.3.1 使用DefaultCategoryDataset数据集绘制柱形图877
39.3.2 使用XYDataset数据集绘制柱形图879
39.4 输出折线图882
39.5 输出区域图884
39.6 输出时序图887
39.7 输出组合图表889
39.8 其他种类的图形892
39.9 本章小结892
第40章 PDF组件iText894
40.1 下载iText组件894
40.2 输出pdf的基本步骤895
40.3 设置pdf文件属性896
40.4 插入文本898
40.5 文本的中文处理899
40.6 插入表格899
40.7 插入图像900
40.8 在Servlet中输出pdf902
40.9 本章小结903
第9篇 实战篇906
第41章 论坛系统(Spring+Struts+Hibernate)906
41.1 功能概述906
41.1.1 功能模块906
41.1.2 运行效果906
41.2 数据库设计907
41.2.1 实体类设计907
41.2.2 BaseBean基类代码908
41.2.3 Person类代码908
41.2.4 Category类代码909
41.2.5 Board类代码909
41.2.6 Thread类代码910
41.2.7 Reply类代码911
41.2.8 数据库与Hibernate配置912
41.3 DAO层设计913
41.3.1 IDao代码913
41.3.2 DaoImpl代码913
41.4 Service层设计914
41.4.1 IService接口915
41.4.2 ServiceImpl实现915
41.5 Action层设计916
41.5.1 ForumForm基类916
41.5.2 ForumAction基类917
41.5.3 JSP层代码918
41.6 用户模块919
41.6.1 IPersonService接口919
41.6.2 PersonServiceImpl实现920
41.6.3 MD5加密工具类921
41.6.4 PersonForm代码921
41.6.5 PersonAction代码922
41.6.6 JSP注册页面925
41.6.7 PersonAction配置926
41.6.8 登录拦截器929
41.6.9 异常捕捉930
41.6.10 实现用户登录931
41.6.11 实现用户资料查看933
41.7 类别模块935
41.7.1 ICategoryService接口935
41.7.2 CategoryServiceImpl实现936
41.7.3 CategoryForm代码936
41.7.4 实现浏览类别937
41.7.5 实现添加类别940
41.8 版面模块941
41.8.1 IBoardService接口942
41.8.2 BoardServiceImpl实现942
41.8.3 BoardForm代码942
41.8.4 实现浏览版面943
41.8.5 实现添加版面946
41.8.6 实现设置版主949
41.9 帖子模块951
41.9.1 IThreadService接口951
41.9.2 ThreadServiceImpl实现952
41.9.3 ThreadForm代码952
41.9.4 实现浏览帖子953
41.9.5 实现发表帖子955
41.10 回帖模块958
41.10.1 IReplyService接口958
41.10.2 ReplyServiceImpl实现959
41.10.3 ReplyForm代码960
41.10.4 实现发表回帖960
41.11 本章小结963
第42章 分布式宠物商店(EJB 3+JPA+Struts 2)964
42.1 系统概述964
42.1.1 需求描述964
42.1.2 系统预览965
42.2 系统构架966
42.2.1 系统构架图966
42.2.2 实体类设计967
42.2.3 业务类实现969
42.2.4 Session Bean查找978
42.2.5 persistence.xml配置980
42.2.6 EJB 3组件部署980
42.3 Web层的设计982
42.3.1 Struts 2项目的文件说明982
42.3.2 配置Struts 2984
42.3.3 配置Tiles985
42.3.4 使用Tiles986
42.4 用户注册与登录989
42.4.1 用户注册页面989
42.4.2 注册处理Action990
42.4.3 所有Action的父类BaseAction992
42.4.4 登录页面994
42.5 类别与宠物管理995
42.5.1 宠物类别列表995
42.5.2 添加宠物类别999
42.5.3 添加宠物1000
42.5.4 删除宠物分类和宠物1003
42.6 购物车管理1004
42.6.1 购买宠物1004
42.6.2 查看购物车1006
42.6.3 付款结账1009
42.7 本章小结1010