标题：Java Web开发实战宝典
图书信息
出版社: 清华大学出版社; 第1版 (2010年1月1日)
丛书名: 软件开发实战宝典
作者: 王国辉
平装: 834页
正文语种: 简体中文
开本: 16
ISBN: 9787302210337
条形码: 9787302210337
尺寸: 26.2 x 20.8 x 5.8 cm
重量: 1.7 Kg
内容简介
《Java Web开发实战宝典》从初学者的角度出发，通过通俗易懂的语言、丰富实用的实例，详细介绍了使用Java语言和开源框架进行Web程序开发应该掌握的各项技术。全书共分5部分26章，包括走进JSP、掌握JSP语法、JSP内置对象、Servlet技术、JSP使用Model2实现登录模块、EL表达式、JSTL核心标签库、结合JSTL与EL技术开发通讯录模块、JSP操作XML、JavaScript脚本语言、Ajax实现用户注册模块、Struts框架、应用Struts实现网站流量统计模块、Hibernate框架、Hibernate高级应用、JSP+Hibernate实现留言模块、Spring框架、Spring MVC框架、Spring+Hibernate实现用户管理模块、数据分页、文件上传与下载、PDF与Excel组件、E-mail组件、动态图表、医药管理系统、高校学生选课系统。所有知识都结合具体实例进行介绍，涉及的程序代码给出了详细的注释，突出“基础”、“全面”、“深入”，同时就像书名所暗示的一样，强调“实战效果”，从而使读者能够轻松领会Java Web程序开发的精髓，快速提高开发技能。
《Java Web开发实战宝典》适合有志于从事软件开发的初学者、高校计算机相关专业学生和毕业生，也可作为软件开发人员的参考手册，或者高校的教学参考书。
目录
第1部分 JSP基础
第1章 走进JSP 3
视频讲解：10分钟
1.1 JSP概述 4
1.1.1 什么是JSP 4
1.1.2 项目成功案例 4
1.1.3 如何学好JSP 6
1.2 JSP技术特征 6
1.2.1 跨平台 7
1.2.2 业务代码分离 7
1.2.3 组件重用 7
1.2.4 继承Java Servlet功能 7
1.2.5 预编译 7
1.3 Java Web服务器 7
1.3.1 Tomcat服务器 8
1.3.2 Resin服务器 8
1.3.3 JBoss服务器 8
1.3.4 WebSphere服务器 8
1.3.5 WebLogic服务器 8
1.4 MySQL数据库的下载与安装 8
1.4.1 下载MySQL 9
1.4.2 安装与配置MySQL 10
1.4.3 下载并安装GUI工具 12
1.5 MyEclipse的下载、安装与配置 12
1.5.1 下载MyEclipse 12
1.5.2 安装MyEclipse 14
1.5.3 配置MyEclipse 16
1.5.4 修改JSP编辑器编码格式 16
1.5.5 设置JSP文件关联编辑器 17
1.5.6 配置外置服务器 17
1.6 开发第一个JSP程序 18
1.6.1 编写JSP程序 19
1.6.2 运行JSP程序 20
1.7 JSP常用资源 21
1.7.1 JSP资源 21
1.7.2 Eclipse资源 21
1.8 本章小结 22
第2章 掌握JSP语法 23
视频讲解：40分钟
2.1 了解JSP的基本构成 24
2.2 指令标签 24
2.2.1 page指令 25
2.2.2 include指令 28
2.2.3 taglib指令 29
2.3 嵌入Java代码 29
2.3.1 代码片段 29
2.3.2 声明 31
2.3.3 JSP表达式 31
2.4 注释 31
2.4.1 HTML注释 31
2.4.2 JSP注释 32
2.4.3 动态注释 32
2.4.4 代码注释 32
2.5 JSP动作标签 33
2.5.1  33
2.5.2  35
2.5.3  36
2.5.4 操作JavaBean的动作标签 36
2.6 实战 37
2.7 本章小结 38
2.8 实战练习 38
第3章 JSP内置对象 39
视频讲解：82分钟
3.1 JSP内置对象的概述 40
3.2 request对象 40
3.2.1 获取请求参数值 40
3.2.2 解决中文乱码 41
3.2.3 获取Form表单的信息 41
3.2.4 获取请求客户端信息 43
3.2.5 在作用域中管理属性 44
3.2.6 cookie管理 45
3.2.7 获取浏览器使用的语言 47
3.3 response对象 47
3.3.1 重定向网页 47
3.3.2 处理HTTP文件头 47
3.3.3 设置输出缓冲 48
3.4 session对象 48
3.4.1 创建及获取session信息 49
3.4.2 从会话中移除指定的绑定对象 50
3.4.3 销毁session 50
3.4.4 会话超时的管理 50
3.4.5 session对象的应用 51
3.5 application对象 53
3.5.1 访问应用程序初始化参数 54
3.5.2 管理应用程序环境属性 54
3.6 out对象 55
3.6.1 管理响应缓冲 55
3.6.2 向客户端输出数据 55
3.7 其他内置对象 56
3.7.1 获取会话范围的pageContext对象 56
3.7.2 读取web.xml配置信息的config对象 56
3.7.3 应答或请求的page对象 57
3.7.4 获取异常信息的exception对象 57
3.8 实战 58
3.8.1 application实现网页计数器 58
3.8.2 在提交表单时加入验证码 59
3.9 本章小结 61
3.10 实战练习 62
第4章 Servlet技术 63
视频讲解：72分钟
4.1 Servlet基础 64
4.1.1 Servlet与Servlet容器 64
4.1.2 Servlet技术特点 64
4.1.3 Servlet技术功能 65
4.1.4 Servlet与JSP的区别 65
4.1.5 Servlet代码结构 66
4.1.6 简单的Servlet程序 67
4.2 Servlet开发 68
4.2.1 Servlet的创建 68
4.2.2 Servlet配置的相关元素 69
4.3 Servlet API编程常用的接口和类 70
4.3.1 Servlet接口 70
4.3.2 ServletConfig接口 71
4.3.3 HttpServletRequest接口 71
4.3.4 HttpServletResponse接口 73
4.3.5 GenericServlet类 74
4.3.6 HttpServlet类 74
4.4 Servlet过滤器 75
4.4.1 过滤器概述 75
4.4.2 Filter API 75
4.4.3 过滤器的配置 77
4.4.4 过滤器典型应用 78
4.5 实战 80
4.5.1 JSP与Servlet实现用户注册 80
4.5.2 过滤非法文字 84
4.6 本章小结 87
4.7 实战练习 88
第5章 JSP使用Model2实现登录模块 89
视频讲解：48分钟
5.1 JavaBean 90
5.1.1 JavaBean简介 90
5.1.2  90
5.1.3  92
5.1.4  94
5.1.5 JavaBean的作用域 96
5.2 Model1模式 97
5.3 Model2模式 100
5.3.1 MVC原理 100
5.3.2 JSP+Servlet+JavaBean 101
5.4 两种模式的比较 102
5.5 登录模块的实现 103
5.5.1 模块介绍 103
5.5.2 关键技术 104
5.5.3 数据库设计 105
5.5.4 JavaBean设计 105
5.5.5 实现过程 109
5.6 运行项目 115
5.7 本章小结 116
5.8 实战练习 116
第2部分 高级技术 
第6章 EL表达式语言 119
视频讲解：60分钟
6.1 EL概述 120
6.1.1 使用EL表达式的前提条件 120
6.1.2 EL表达式的基本语法 121
6.1.3 EL表达式的特点 121
6.2 EL表达式的存取范围 122
6.3 EL表达式的运算符 122
6.3.1 存取数据运算符“[]”和“.” 122
6.3.2 算术运算符 123
6.3.3 关系运算符 124
6.3.4 逻辑运算符 124
6.3.5 empty运算符 125
6.3.6 条件运算符 126
6.3.7 运算符的优先级 126
6.4 EL表达式中的保留字 126
6.5 EL表达式中的隐含对象 127
6.5.1 pageContext对象的应用 127
6.5.2 param和paramValues对象的应用 127
6.5.3 header和headerValues对象的应用 128
6.5.4 访问作用域范围的隐含对象 129
6.5.5 cookie对象的应用 129
6.5.6 initParam对象的应用 129
6.6 实战 130
6.6.1 应用EL表达式访问JavaBean的属性 130
6.6.2 应用EL表达式显示投票结果 131
6.7 本章小结 134
6.8 实战练习 134
第7章 JSTL核心标签库 135
视频讲解：87分钟
7.1 JSTL简介 136
7.1.1 下载和配置JSTL 136
7.1.2 JSTL标签库简介 137
7.2 表达式标签 138
7.2.1 输出标签 138
7.2.2 设置标签 139
7.2.3 移除标签 141
7.2..4 捕获异常标签 142
7.3 条件标签 142
7.3.1 标签 143
7.3.2 、和标签 144
7.4 循环标签 146
7.4.1 标签 146
7.4.2 标签 148
7.5 URL操作标签 149
7.5.1 文件导入标签 149
7.5.2 重定向标签 151
7.5.3 生成URL地址标签 152
7.5.4 参数传递标签 153
7.6 实战 154
7.6.1 应用JSTL显示数据库中的商品信息 154
7.6.2 JSTL在电子商城网站中的应用 159
7.7 本章小结 162
7.8 实战练习 162
第8章 结合JSTL与EL技术开发通讯录模块 163
视频讲解：73分钟
8.1 模块概述 164
8.1.1 功能描述 164
8.1.2 系统流程 164
8.1.3 主页预览 165
8.2 关键技术 165
8.3 数据库设计 166
8.4 实现过程 167
8.4.1 搭建开发环境 167
8.4.2 编写数据库连接及操作的公共类 167
8.4.3 实现用户注册 170
8.4.4 实现用户登录 173
8.4.5 实现通讯录模块主页 176
8.4.6 实现添加联系人 180
8.4.7 实现修改联系人 183
8.4.8 实现删除联系人 186
8.5 运行项目 186
8.6 本章小结 188
第9章 JSP操作XML 189
视频讲解：107分钟
9.1 XML简介 190
9.1.1 XML文档结构 190
9.1.2 XML语法要求 191
9.1.3 为XML文档中的元素定义属性 192
9.1.4 XML的注释 192
9.1.5 处理字符数据 192
9.2 dom4j概述 194
9.2.1 dom4j简介 194
9.2.2 dom4j的下载与配置 195
9.3 创建XML文档 196
9.3.1 创建XML文档对象 196
9.3.2 创建根节点 197
9.3.3 添加注释 197
9.3.4 添加属性 198
9.3.5 创建子节点 198
9.3.6 设置节点的内容 198
9.3.7 设置编码 199
9.3.8 设置输出格式 199
9.3.9 输出XML文档 200
9.4 解析XML文档 201
9.4.1 构建XML文档对象 201
9.4.2 获取根节点 201
9.4.3 获取子节点 202
9.5 修改XML文档 203
9.5.1 修改节点 203
9.5.2 删除节点 204
9.6 实战 204
9.6.1 保存公告信息到XML文件 204
9.6.2 对保存到XML文件中的公告信息进行管理 207
9.7 本章小结 214
9.8 实战练习 214
第10章 JavaScript脚本语言 215
视频讲解：204分钟
10.1 了解JavaScript 216
10.1.1 什么是JavaScript 216
10.1.2 JavaScript的主要特点 216
10.1.3 JavaScript与Java的区别 216
10.2 在Web页面中使用JavaScript 217
10.2.1 在页面中直接嵌入JavaScript 217
10.2.2 链接外部JavaScript 218
10.3 JavaScript语言基础 219
10.3.1 JavaScript的语法 219
10.3.2 JavaScript中的关键字 220
10.3.3 了解JavaScript的数据类型 220
10.3.4 变量的定义及使用 222
10.3.5 运算符的应用 224
10.4 流程控制语句 226
10.4.1 if条件判断语句 227
10.4.2 switch多路分支语句 229
10.4.3 for循环语句 231
10.4.4 while循环语句 233
10.4.5 do…while循环语句 234
10.4.6 break语句 235
10.4.7 continue语句 236
10.5 使用正则表达式 236
10.5.1 正则表达式的语法 236
10.5.2 创建正则表达式（RegExp）对象 238
10.5.3 使用RegExp对象执行模式匹配 239
10.6 函数 242
10.6.1 函数的定义 242
10.6.2 函数的调用 243
10.6.3 匿名函数 244
10.7 事件和事件处理程序 244
10.7.1 什么是事件和事件处理程序 244
10.7.2 JavaScript的常用事件 245
10.7.3 事件处理程序的调用 245
10.8 常用对象 246
10.8.1 String对象 247
10.8.2 Math对象 251
10.8.3 Date对象 252
10.8.4 Window对象 255
10.9 DOM技术 259
10.9.1 DOM概述 259
10.9.2 DOM的分层结构 259
10.9.3 遍历文档 260
10.9.4 获取文档中的指定元素 262
10.9.5 操作文档 263
10.9.6 与DHTML相对的DOM 265
10.10 实战 266
10.10.1 检测表单元素是否为空 266
10.10.2 屏蔽鼠标右键和键盘相关事件 267
10.11 本章小结 270
10.12 实战练习 270
第11章 Ajax实现用户注册模块 271
视频讲解：127分钟
11.1 Ajax简介 272
11.1.1 什么是Ajax 272
11.1.2 Ajax的开发模式 272
11.1.3 Ajax的优点 273
11.2 Ajax使用的技术 273
11.2.1 XMLHttpRequest 273
11.2.2 JavaScript脚本语言 276
11.2. 3 DOM 276
11.2. 4 XML语言 277
11.2. 5 CSS 277
11.3 Ajax工作流程 277
11.3.1 发送请求 277
11.3.2 处理服务器响应 279
11.3.3 一个完整的实例 280
11.4 Ajax重构 282
11.5 Ajax开发需要注意的几个问题 286
11.5. 1 浏览器兼容性问题 286
11.5. 2 安全问题 287
11.5. 3 性能问题 287
11.5.4 中文编码问题 288
11.6 开发用户注册模块 288
11.6.1 模块概述 288
11.6.2 系统流程 289
11.6.3 关键技术 291
11.6.4 数据库设计 291
11.6.5 实现过程 291
11.7 实战 303
11.8 本章小结 307
11.9 实战练习 307
第3部分 框架技术
第12章 Struts框架 311
视频讲解：86分钟
12.1 MVC设计模式 312
12.2 Struts体系结构 313
12.2.1 Struts介绍 313
12.2.2 Struts体系结构 313
12.3 Struts工作流程 313
12.4 struts-config.xml配置文件 315
12.4.1 data-sources元素 315
12.4.2 form-beans元素 316
12.4.3 global-exceptios元素 316
12.4.4 global-forwards元素 317
12.4.5 controller元素 318
12.4.6 action-mappings元素 319
12.4.7 message-resources元素 320
12.4.8 plug-in元素 321
12.4.9 配置多应用模块 321
12.5 视图组件ActionForm 323
12.5.1 视图概述 323
12.5.2 创建ActionForm 324
12.5.3 配置动态ActionForm 326
12.6 控制器组件Action 331
12.6.1 控制器组件类 331
12.6.2 org.apache.actions.Action类 332
12.6.3 org.apache.struts.actions.DispatchAction类 334
12.6.4 org.apache.struts.actions.ForwardAction 336
12.7 Struts标签库 337
12.7.1 HTML标签库 338
12.7.2 Bean标签库 340
12.7.3 Logic标签库 342
12.8 实战 343
12.9 本章小结 346
12.10 实战练习 346
第13章 应用Struts实现网站流量统计模块 347
视频讲解：86分钟
13.1 模块概述 348
13.1.1 功能结构 348
13.1.2 系统流程 348
13.1.3 逻辑分层结构 349
13.2 技术要点 350
13.2.1 绘制条形统计图 350
13.2.2 获取客户端信息 352
13.2.3 iframe浮动框架 352
13.2.4 获取百分比 353
13.3 数据库设计 353
13.4 实现过程 355
13.4.1 获取系统时间 355
13.4.2 配置数据源 356
13.4.3 编写与数据表对应的Java Bean 356
13.4.4 首页设计 357
13.4.5 日时段分析 364
13.4.6 月回访统计 371
13.4.7 日客户端分析 378
13.5 运行项目 382
13.6 本章小结 382
第14章 Hibernate框架 383
视频讲解：76分钟
14.1 Hibernate简介 384
14.1.1 理解ORM原理 384
14.1.2 Hibernate的结构体系` 384
14.1.3 Hibernate实例状态 386
14.1.4 Hibernate的适用性 387
14.2 Hibernate入门 387
14.2.1 Hibernate包的下载与放置 387
14.2.2 Hibernate配置文件解析 388
14.2.3 编写持久化类 389
14.2.4 编写映射文件 390
14.2.5 编写Hibernate的初始化类 392
14.3 自动建表技术 394
14.4 Hibernate持久化对象 395
14.4.1 添加数据 396
14.4.2 查询数据 397
14.4.3 删除数据 400
14.4.4 修改数据 401
14.5 Hibernate缓存及延迟加载 403
14.5.1 一级缓存 403
14.5.2 二级缓存 404
14.5.3 Lazy策略 406
14.6 实战 408
14.6.1 用户注册 408
14.6.2 修改数据 412
14.7 本章小结 416
14.8 实战练习 416
第15章 Hibernate高级应用 417
视频讲解：107分钟
15.1 关联关系映射 418
15.1.1 单向关联与双向关联 418
15.1.2 多对一单向关联映射 418
15.1.3 多对一双向关联映射 420
15.1.4 一对一主键关联映射 422
15.1.5 一对一外键关联映射 424
15.1.6 多对多关联映射 425
15.1.7 级联操作在关联中的使用 426
15.2 继承映射 428
15.2.1 类继承树映射成一张表 428
15.2.2 每个子类映射成一张表 430
15.2.3 每个具体类映射成一张表 431
15.2.4 多态查询 432
15.3 HQL检索方式 432
15.3.1 HQL的基本语法 433
15.3.2 实体对象与动态实例化对象查询 433
15.3.3 条件查询与别名的使用 434
15.3.4 HQL语句的动态赋值 435
15.3.5 对象导航查询 435
15.3.6 排序查询 436
15.3.7 聚合函数 436
15.3.8 分组操作 437
15.3.9 对日期时间的处理 437
15.3.10 联合查询 438
15.3.11 子查询 439
15.4 实战 440
15.4.1 多对一数据的添加与查询 440
15.4.2 模糊查询药品信息 445
15.4.3 内连接查询图书信息 447
15.5 本章小结 450
15.6 实战练习 450
第16章 JSP+Hibernate实现留言模块 451
视频讲解：72分钟
16.1 实例说明 452
16.1.1 实现功能 452
16.1.2 系统流程 453
16.1.3 逻辑分层结构 453
16.2 技术要点 454
16.2.1 确定实体及关系 454
16.2.2 ThreadLocal的使用 454
16.3 实现过程 455
16.3.1 搭建开发环境 455
16.3.2 实体类与映射 457
16.3.3 注册模块 461
16.3.4 用户登录 464
16.3.5 实现留言 466
16.3.6 分页查看留言信息 469
16.3.7 管理员相关操作 475
16.4 运行项目 480
16.5 本章小结 480
第17章 Spring框架 481
视频讲解：106分钟
17.1 Spring简介 482
17.2 下载与配置 482
17.2.1 下载 482
17.2.2 配置 483
17.3 Spring IoC 484
17.3.1 控制反转 484
17.3.2 依赖注入的3种类型 486
17.3.3 接口注入 487
17.3.4 设值注入 487
17.3.5 构造注入 488
17.3.6 选择合适的注入方式 489
17.4 Spring AOP 489
17.4.1 AOP简介 489
17.4.2 AOP术语 490
17.4.3 Spring对AOP的支持 490
17.5 Spring Bean工厂 490
17.5.1 BeanFactory简介 490
17.5.2 装配一个Bean 491
17.5.3 为Bean命名 491
17.5.4 Bean的赋值标签 491
17.5.5 自动装配 496
17.6 Spring的高级应用 496
17.6.1 使用BeanFactory管理Bean 496
17.6.2 使用ApplicationContext管理Bean 497
17.6.3 ApplicationContext访问资源文件 497
17.6.4 ApplicationContext输出国际化信息 498
17.6.5 Web应用中自动加载ApplicationContext 498
17.7 Spring持久化操作 499
17.7.1 JdbcTemplate与Spring数据源 500
17.7.2 在Spring中配置DBCP数据库连接池 500
17.7.3 Spring整合Hibernate 501
17.8 实战 504
17.8.1 使用Spring对员工表进行增、删、改、查操作 504
17.8.2 使用Spring整合Hibernate操作商品库存表 512
17.9 本章小结 518
17.10 实战练习 518
第18章 Spring MVC框架 519
视频讲解：82分钟
18.1 Spring MVC简介 520
18.1.1 Spring MVC的特点 520
18.1.2 Spring MVC的不足 520
18.2 Spring MVC中的组件 520
18.2.1 核心控制器 521
18.2.2 业务控制器 521
18.2.3 控制器映射 521
18.2.4 模型与视图 521
18.2.5 视图解析器 521
18.2.6 Command对象 521
18.3 Spring MVC核心控制器 522
18.4 Spring MVC控制器映射 522
18.4.1 配置BeanNameUrlHandlerMapping 523
18.4.2 配置SimpleUrlHandlerMapping 523
18.4.3 多个控制器映射 524
18.5 Spring MVC业务控制器 524
18.5.1 简单控制器 524
18.5.2 参数映射控制器 527
18.5.3 文件名映射控制器 527
18.5.4 表单控制器 528
18.5.5 Spring编码过滤器解决中文乱码 531
18.5.6 多动作控制器 531
18.6 视图解析器 534
18.6.1 视图解析器介绍 534
18.6.2 配置InternalResourceViewResolver 535
18.7 常见的其他第三方MVC框架 535
18.7.1 Struts 536
18.7.2 JSF 536
18.7.3 Struts2 536
18.8 Spring整合Struts 536
18.8.1 通过ActionSupport类整合 536
18.8.2 通过DelegatingRequestProcessor类整合 539
18.8.3 通过DelegatingActionProxy类整合 541
18.9 实战 542
18.9.1 使用Spring MVC编写在线通讯录 542
18.9.2 使用Spring整合Struts编写多页面用户注册模块 549
18.10 本章小结 553
18.11 实战练习 553
第19章 Spring+Hibernate实现用户管理模块 555
视频讲解：72分钟
19.1 系统功能模块设计 556
19.2 数据库设计 556
19.3 技术要点 557
19.4 文件夹结构设计 557
19.5 实体映射 558
19.5.1 部门信息 558
19.5.2 用户信息 559
19.6 设计操作数据库的接口与类 560
19.6.1 部门信息DAO接口IDeptInfoDao 560
19.6.2 部门信息DAO实现类DeptInfoDao 560
19.6.3 用户信息DAO接口IUserInfoDao 561
19.6.4 用户信息DAO实现类IUserInfoDao 561
19.7 登录子模块 562
19.7.1 登录子模块控制器 563
19.7.2 登录子模块JSP页面 563
19.8 部门管理子模块 566
19.8.1 部门管理子模块控制器 567
19.8.2 部门管理子模块JSP页面 569
19.9 用户管理子模块 570
19.9.1 用户管理子模块文件上传类 571
19.9.2 用户管理子模块控制器类 572
19.9.3 用户管理子模块JSP页面 574
19.10 配置文件 577
19.10.1 在src文件内编写log4j.properties 577
19.10.2 创建Spring配置文件
applicationContext.xml 578
19.10.3 配置web.xml 580
19.11 运行项目 581
19.12 本章小结 581
第4部分 实用技术
第20章 数据分页 585
视频讲解：65分钟
20.1 SQL Server数据库分页 586
20.1.1 获取前n条记录 586
20.1.2 获取分页数据 587
20.2 MySQL数据库分页 587
20.2.1 LIMIT函数 588
20.2.2 获取分页数据 588
20.2.3 获取总页数 589
20.3 Hibernate分页 589
20.3.1 HQL分页 589
20.3.2 QBC分页 590
20.4 分页商品信息查询模块 590
20.4.1 模块介绍 590
20.4.2 系统流程 591
20.4.3 关键技术 591
20.4.4 数据库设计 592
20.4.5 实现过程 592
20.5 实战 599
20.6 本章小结 604
20.7 实战练习 604
第21章 文件上传与下载 605
视频讲解：73分钟
21.1 上传组件比较 606
21.1.1 jspSmartUpload文件上传组件 606
21.1.2 commons-fileUpload文件上传组件 606
21.2 commons-fileUpload上传组件 606
21.3 Struts文件上传 609
21.3.1 标签 609
21.3.2 ActionForm Bean编写 610
21.3.3 实现文件上传 610
21.4 Spring文件上传 611
21.4.1 配置文件上传解析器 611
21.4.2 编写文件上传表单页面 611
21.4.3 编写文件上传控制器 612
21.5 文件下载 613
21.5.1 组件下载 613
21.5.2 输出流方式下载 615
21.6 MP3乐园 618
21.6.1 模块介绍 618
21.6.2 系统流程 619
21.6.3 关键技术 619
21.6.4 数据库设计 620
21.6.5 公共类编写 620
21.6.6 实现系统登录 622
21.6.7 实现用户注册 624
21.6.8 实现文件上传 626
21.6.9 文件下载 629
21.7 本章小结 630
21.8 实战练习 630
第22章 PDF与Excel组件 631
视频讲解：60分钟
22.1 PDF概述 632
22.1.1 PDF的优点 632
22.1.2 PDF阅读工具 632
22.2 PDF组件简介 632
22.2.1 iText组件简介 632
22.2.2 iText组件的获取 633
22.2.3 iText组件关键类简介 633
22.3 应用iText组件生成PDF文档 634
22.3.1 创建Document对象的实例 634
22.3.2 获取PdfWrite实例 635
22.3.3 为PDF文档添加内容 635
22.3.4 字体与中文字符的显示 635
22.3.5 创建表格 636
22.3.6 插入图像 638
22.4 应用PDFBox组件解析PDF文档 638
22.4.1 PDFBox组件简介 639
22.4.2 PDFBox组件的获取 639
22.4.3 应用PDFBox组件解析PDF文档 639
22.5 Excel组件简介 640
22.5.1 常用Excel组件 640
22.5.2 POI组件简介 640
22.5.3 POI组件的获取 640
22.5.4 POI组件关键类简介 641
22.6 应用POI组件读写Excel文档 641
22.6.1 创建一个Excel文档 642
22.6.2 设置字体样式 642
22.6.3 合并单元格 643
22.6.4 读取Excel文档内容 645
22.7 实战 646
22.7.1 将数据库中的内容导出为PDF文档 646
22.7.2 将数据库中的内容导出为Excel文档 649
22.8 本章小结 651
22.9 实战练习 651
第23章 E-mail组件 653
视频讲解：112分钟
23.1 电子邮件协议简介 654
23.1.1 SMTP简单邮件传输协议 654
23.1.2 POP3邮局协议 654
23.1.3 IMAP接收邮件协议 654
23.1.4 MIME邮件扩充协议 654
23.2 建立Java Mail开发环境 655
23.2.1 获取Java Mail API 655
23.2.2 获取Java Mail API的激活框架 655
23.2.3 安装和配置邮件服务器 655
23.3 发送邮件的API 657
23.3.1 Session类 658
23.3.2 Message类中与发送邮件相关的方法 659
23.3.3 Address类 661
23.3.4 Authenticator类 662
23.3.5 Transport类 662
23.4 接收邮件的API 664
23.4.1 Store类 664
23.4.2 Folder类 665
23.4.3 Flags类 666
23.4.4 Message类中与接收邮件相关的方法 666
23.5 实战 667
23.5.1 发送普通文本邮件 667
23.5.2 发送HTML格式的邮件 669
23.5.3 发送带附件的邮件 672
23.5.4 接收已读邮件和未读邮件 675
23.6 本章小结 684
23.7 实战练习 684
第24章 动态图表 685
视频讲解：64分钟
24.1 JFreeChart简介 686
24.1.1 认识JFreeChart组件 686
24.1.1 JFreeChart的下载与使用 686
24.2 JFreeChart的核心对象 687
24.2.1 制图对象 687
24.2.2 制图工厂对象 688
24.2.3 数据集合对象 688
24.2.4 绘图区对象 690
24.2.5 坐标轴对象 691
24.2.6 图片渲染对象 693
24.3 JFreeChart的应用 693
24.3.1 如何获取图片 693
24.3.2 创建数据集合与JFreeChart实例 695
24.3.3 图表相关属性的设置 696
24.3.4 JFreeChart内置JDBC的使用 698
24.3.5 中文乱码的解决方案 701
24.4 实战 702
24.4.1 JFreeChart绘制折线图 702
24.4.2 JFreeChart绘制区域图 706
24.4.3 JFreeChart绘制时序图 708
24.5 本章小结 710
24.6 实战练习 710
第5部分 项目实战 
第25章 医药管理系统 713
视频讲解：168分钟
25.1 系统分析 714
25.1.1 开发背景 714
25.1.2 需求分析 714
25.2 系统设计 714
25.2.1 系统目标 714
25.2.2 系统功能结构 715
25.2.3 系统流程图 715
25.3 软件架构 716
25.3.1 逻辑分层结构设计 716
25.3.2 系统文件夹组织结构 717
25.3.3 实体对象设计 717
25.3.4 定义ActionForm 718
25.3.5 持久层结构设计 718
25.3.6 业务层结构设计 719
25.3.7 页面结构设计 720
25.4 配置文件 721
25.4.1 配置web.xml 721
25.4.2 配置struts-config.xml 722
25.4.3 配置hibernate.cfg.xml 725
25.5 实体及映射 726
25.5.1 药品实体映射 726
25.5.2 药品类别实体映射 727
25.5.3 销售明细实体映射 728
25.5.4 用户实体映射 730
25.6 公共类设计 730
25.6.1 Hibernate过滤器 731
25.6.2 SuperDao类 733
25.6.3 BaseAction类 737
25.6.4 DeleteAction类 740
25.6.5 字符串工具类 741
25.7 国际化 742
25.7.1 国际化资源文件 743
25.7.2 国际化实现 743
25.8 系统登录模块设计 744
25.9 药品类别信息管理 747
25.9.1 药品类别持久层设计 747
25.9.2 药品类别的添加 748
25.9.3 分页查看类别信息 750
25.9.4 类别的修改与删除 752
25.9.5 药品类别统计 753
25.10 药品信息管理 755
25.10.1 药品对象持久层设计 755
25.10.2 药品信息的添加与修改 756
25.10.3 分页查看所有药品 758
25.10.4 查看药品详细信息 759
25.10.5 模糊查询药品 760
25.10.6 高级查询 761
25.10.7 查看库存 762
25.10.8 药品批量删除 763
25.11 购买药品 765
25.11.1 选购药品 765
25.11.2 结账 766
25.12 销售管理 767
25.12.1 明细信息查询 768
25.12.2 销售排行统计 768
25.13 进货/需求管理 769
25.14 系统管理 770
25.14.1 添加管理员 770
25.14.2 修改密码 771
25.14.3 系统初始化 772
25.15 运行项目 773
25.16 本章小结 773
第26章 高校学生选课系统 775
视频讲解：120分钟
26.1 系统分析 776
26.1.1 需求分析 776
26.1.2 可行性分析 776
26.1.3 编写项目计划书 777
26.2 系统设计 779
26.2.1 系统功能结构 779
26.2.2 系统编码规范 780
26.3 项目运行环境 780
26.3.1 服务器最低配置 780
26.3.2 客户端最低配置 781
26.4 数据库与数据表设计 781
26.5 文件夹组织结构 782
26.6 实体映射 782
26.6.1 用户登录信息 783
26.6.2 专业信息 784
26.6.3 课程信息 784
26.6.4 学生信息 785
26.6.5 学生与课程关联信息 786
26.7 设计操作数据库的接口与实现类 787
26.7.1 用户登录信息DAO接口IUserLoginDao 787
26.7.2 用户登录信息DAO接口实现类UserLoginDao 787
26.7.3 专业信息DAO接口ISpecialtyDao 789
26.7.4 专业信息DAO接口实现类SpecialtyDao 789
26.7.5 课程信息DAO接口ICourseDao 790
26.7.6 课程信息DAO接口实现类CourseDao 791
26.7.7 学生信息DAO接口IStuUserDao 792
26.7.8 学生信息DAO接口实现类StuUserDao 793
26.8 用户模块 794
26.8.1 用户注册流程 794
26.8.2 用户注册控制器类 795
26.8.3 用户注册JSP页面 796
26.8.4 用户登录流程 798
26.8.5 用户登录控制器类 799
26.8.6 用户登录JSP页面 800
26.8.7 密码修改流程 800
26.8.8 密码修改控制器类 801
26.9 管理模块 802
26.9.1 专业管理流程 804
26.9.2 专业管理控制器类 804
26.9.3 专业管理页面 805
26.9.4 课程管理流程 807
26.9.5 课程管理控制器类 807
26.9.6 课程管理页面 809
26.9.7 信息统计流程 813
26.9.8 信息统计控制器类 813
26.9.9 信息统计页面 817
26.9.10 修改密码 819
26.9.11 退出系统 820
26.10 学生模块 821
26.10.1 学生模块控制器类 821
26.10.2 学生基本信息页面 824
26.10.3 选择新课程页面 824
26.10.4 查询已选课程页面 825
26.10.5 课程详细信息页面 826
26.10.6 修改登录密码页面 827
26.11 配置文件 828
26.11.1 配置web.xml文件 828
26.11.2 配置struts-config.xml文件 829
26.11.3 配置applicationContext.xml文件 831
26.12 运行项目 834
26.13 本章小结 834