第1部分 JSP基础
第1章 走进JSP3
视频讲解:10分钟
1.1 JSP概述4
1.1.1 什么是JSP4
1.1.2 项目成功案例4
1.1.3 如何学好JSP6
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 下载MySQL9
1.4.2 安装与配置MySQL10
1.4.3 下载并安装GUI工具12
1.5 MyEclipse的下载、安装与配置12
1.5.1 下载MyEclipse12
1.5.2 安装MyEclipse14
1.5.3 配置MyEclipse16
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 <jsp:include>33
2.5.2 <jsp:forward>35
2.5.3 <jsp:param>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 销毁session50
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
第1部分 JSP基础
第1章 走进JSP3
视频讲解:10分钟
1.1 JSP概述4
1.1.1 什么是JSP4
1.1.2 项目成功案例4
1.1.3 如何学好JSP6
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 下载MySQL9
1.4.2 安装与配置MySQL10
1.4.3 下载并安装GUI工具12
1.5 MyEclipse的下载、安装与配置12
1.5.1 下载MyEclipse12
1.5.2 安装MyEclipse14
1.5.3 配置MyEclipse16
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
2.5.2
2.5.3
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 销毁session50
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 API75
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 JavaBean90
5.1.1 JavaBean简介90
5.1.2
5.1.3
5.1.4
5.1.5 JavaBean的作用域96
5.2 Model1模式97
5.3 Model2模式100
5.3.1 MVC原理100
5.3.2 JSP+Servlet+JavaBean101
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 下载和配置JSTL136
7.1.2 JSTL标签库简介137
7.2 表达式标签138
7.2.1
7.2.2
7.2.3
7.2..4
7.3 条件标签142
7.3.1
7.3.2
标签144
7.4 循环标签146
7.4.1
7.4.2
7.5 URL操作标签149
7.5.1
7.5.2
7.5.3
7.5.4
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操作XML189
视频讲解: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 了解JavaScript216
10.1.1 什么是JavaScript216
10.1.2 JavaScript的主要特点216
10.1.3 JavaScript与Java的区别216
10.2 在Web页面中使用JavaScript217
10.2.1 在页面中直接嵌入JavaScript217
10.2.2 链接外部JavaScript218
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相对的DOM265
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 什么是Ajax272
11.1.2 Ajax的开发模式272
11.1.3 Ajax的优点273
11.2 Ajax使用的技术273
11.2.1 XMLHttpRequest273
11.2.2 JavaScript脚本语言276
11.2. 3 DOM276
11.2. 4 XML语言277
11.2. 5 CSS277
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 视图组件ActionForm323
12.5.1 视图概述323
12.5.2 创建ActionForm324
12.5.3 配置动态ActionForm326
12.6 控制器组件Action331
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.ForwardAction336
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 Bean356
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 IoC484
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 AOP489
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 装配一个Bean491
17.5.3 为Bean命名491
17.5.4 Bean的赋值标签491
17.5.5 自动装配496
17.6 Spring的高级应用496
17.6.1 使用BeanFactory管理Bean496
17.6.2 使用ApplicationContext管理Bean497
17.6.3 ApplicationContext访问资源文件497
17.6.4 ApplicationContext输出国际化信息498
17.6.5 Web应用中自动加载
ApplicationContext498
17.7 Spring持久化操作499
17.7.1 JdbcTemplate与Spring数据源500
17.7.2 在Spring中配置DBCP数据库连接池500
17.7.3 Spring整合Hibernate501
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 配置BeanNameUrlHandlerMapping523
18.4.2 配置SimpleUrlHandlerMapping523
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 配置InternalResourceViewResolver535
18.7 常见的其他第三方MVC框架535
18.7.1 Struts536
18.7.2 JSF536
18.7.3 Struts2536
18.8 Spring整合Struts536
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接口IDeptInfoDao560
19.6.2 部门信息DAO实现类DeptInfoDao560
19.6.3 用户信息DAO接口IUserInfoDao561
19.6.4 用户信息DAO实现类IUserInfoDao561
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.properties577
19.10.2 创建Spring配置文件
applicationContext.xml578
19.10.3 配置web.xml580
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
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 API655
23.2.2 获取Java Mail API的激活框架655
23.2.3 安装和配置邮件服务器655
23.3 发送邮件的API657
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 接收邮件的API664
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 定义ActionForm718
25.3.5 持久层结构设计718
25.3.6 业务层结构设计719
25.3.7 页面结构设计720
25.4 配置文件721
25.4.1 配置web.xml721
25.4.2 配置struts-config.xml722
25.4.3 配置hibernate.cfg.xml725
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接口
IUserLoginDao787
26.7.2 用户登录信息DAO接口实现类
UserLoginDao787
26.7.3 专业信息DAO接口ISpecialtyDao789
26.7.4 专业信息DAO接口实现类
SpecialtyDao789
26.7.5 课程信息DAO接口ICourseDao790
26.7.6 课程信息DAO接口
实现类CourseDao791
26.7.7 学生信息DAO接口IStuUserDao792
26.7.8 学生信息DAO接口实现类
StuUserDao793
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