目 录
第1篇 基 础 入 门
第1章 揭开Java Web的神秘面纱——
熟悉Java Web开发 3
1.1 Web开发基础知识 4
1.1.1 Web概述 4
1.1.2 Web服务器 4
1.1.3 Web页面 6
1.1.4 网站 6
1.2 Web开发体系结构 6
1.2.1 C/S体系结构 6
1.2.2 B/S体系结构 7
1.2.3 C/S与B/S的区别 8
1.3 Web应用程序的工作原理 9
1.3.1 静态网站 9
1.3.2 动态网站 10
1.4 Web应用技术 11
1.4.1 客户端应用的技术 11
1.4.2 服务器端应用的技术 12
1.5 大神解惑 13
1.6 跟我学上机 13
第2章 开发前必备工作——Java Web
开发环境搭建 15
2.1 搭建Java环境 16
2.1.1 JDK下载 16
2.1.2 JDK安装 17
2.1.3 JDK配置 18
2.1.4 测试JDK 20
2.2 Tomcat服务器 21
2.2.1 Tomcat的下载 21
2.2.2 Tomcat的安装 22
2.2.3 Tomcat的启动与关闭 24
2.2.4 修改Tomcat端口 24
2.2.5 测试Tomcat 25
2.3 MyEclipse的下载与安装 26
2.3.1 MyEclipse的下载 26
2.3.2 MyEclipse的安装 27
2.4 部署Web项目 28
2.4.1 在MyEclipse中配置Tomcat 28
2.4.2 创建第一个Web项目 30
2.4.3 将项目部署到Tomcat 31
2.5 大神解惑 33
2.6 跟我学上机 34
第3章 零基础开始学习——快速认识
JSP 35
3.1 JSP概述 36
3.2 JSP形成历史 36
3.3 JSP的优势 37
3.4 JSP运行机制 39
3.5 JSP开发的两种模式 40
3.5.1 JSP+JavaBean模式 40
3.5.2 JSP+JavaBean+Servlet模式 40
3.6 第一个JSP页面 41
3.7 大神解惑 43
3.8 跟我学上机 44
第4章 灵活使用JSP——JSP语言
基础 45
4.1 JSP注释 46
4.2 JSP声明 47
4.3 JSP代码段 47
4.4 JSP表达式 49
4.5 JSP指令 50
4.5.1 page指令 50
4.5.2 include指令 52
4.5.3 taglib指令 54
4.6 JSP动作 56
4.6.1 include动作 56
4.6.2 forward动作 57
4.6.3 param动作 58
4.6.4 plugin动作 60
4.7 JSP异常 60
4.8 大神解惑 60
4.9 跟我学上机 62
第5章 掌握JSP核心技术——
JSP内置对象 63
5.1 内置对象的作用范围 64
5.1.1 Application作用范围 64
5.1.2 Session作用范围 64
5.1.3 Request作用范围 64
5.1.4 Page作用范围 66
5.2 out对象 67
5.3 request对象 69
5.3.1 获取客户端信息 69
5.3.2 获取请求参数 71
5.3.3 JSP中文乱码 73
5.4 response对象 75
5.4.1 response概述 75
5.4.2 response重定向 76
5.5 session对象 78
5.5.1 session概述 78
5.5.2 存储客户端信息 79
5.5.3 销毁session 82
5.6 session跟踪 82
5.6.1 URL重写 82
5.6.2 表单隐藏字段 83
5.6.3 Cookie 84
5.6.4 HttpSession对象 87
5.7 application对象 90
5.8 page对象 92
5.9 pageContext对象 92
5.10 config对象 95
5.11 exception对象 95
5.12 大神解惑 97
5.13 跟我学上机 98
第2篇 核 心 技 术
第6章 服务器端程序的开发——
Servlet技术 101
6.1 Servlet简介 102
6.1.1 工作原理 102
6.1.2 生命周期 102
6.1.3 实现MVC开发模式 103
6.2 Servlet常用的接口和类 104
6.2.1 Servlet()方法 105
6.2.2 HttpServlet类 105
6.2.3 HttpSession接口 106
6.2.4 ServletConfig接口 107
6.2.5 ServletContext接口 107
6.3 创建和配置Servlet 108
6.4 用Servlet获取信息 111
6.4.1 获取HTTP头部信息 111
6.4.2 获取请求对象信息 112
6.4.3 获取参数信息 113
6.5 在JSP页面中调用Servlet的方法 115
6.5.1 表单提交调用Servlet 116
6.5.2 超链接调用Servlet 119
6.6 Servlet的应用 121
6.6.1 下载上传组件 121
6.6.2 使用Servlet上传文件 125
6.6.3 使用Servlet下载文件 128
6.6.4 Cookies操作 130
6.6.5 Session操作 132
6.7 大神解惑 133
6.8 跟我学上机 134
第7章 Java的可重用组件——
JavaBean技术 135
7.1 JavaBean简介 136
7.1.1 JavaBean概述 136
7.1.2 JavaBean的种类 136
7.2 非可视化JavaBean 136
7.2.1 JavaBean的编码规则 136
7.2.2 JavaBean属性 137
7.3 使用JavaBean的原因 138
7.4 在JSP中使用JavaBean 142
7.4.1 <jsp:useBean>动作 142
7.4.2 <jsp:setProperty>动作 143
7.4.3 <jsp:getProperty>动作 143
7.5 JavaBean的范围 144
7.5.1 page范围 144
7.5.2 request范围 146
7.5.3 session范围 148
7.5.4 application范围 149
7.6 大神解惑 151
7.7 跟我学上机 151
第8章 过滤浏览器的请求——
过滤器技术 153
8.1 过滤器简介 154
8.2 过滤器接口 154
8.2.1 Filter接口 154
8.2.2 FilterConfig接口 155
8.2.3 FilterChain接口 155
8.3 创建和配置过滤器 155
8.4 转换字符编码过滤器 157
8.5 大神解惑 160
8.6 跟我学上机 160
第9章 监听Web应用程序——
监听器技术 161
9.1 监听器简介 162
9.1.1 监听器概述 162
9.1.2 监听器接口 162
9.2 监听器接口 163
9.2.1 监听对象的创建与销毁 163
9.2.2 监听对象的属性 164
9.2.3 监听Session中的对象 166
9.3 创建和配置监听器 166
9.4 统计在线人数 168
9.5 Servlet3.0的新特性 173
9.5.1 注解 173
9.5.2 异步处理 179
9.5.3 上传组件 181
9.6 大神解惑 184
9.7 跟我学上机 184
第10章 Java Web的数据库编程——
JDBC与MySQL 185
10.1 JDBC概述 186
10.1.1 JDBC原理 186
10.1.2 JDBC驱动 186
10.2 连接数据库 187
10.2.1 安装MySQL数据库 188
10.2.2 安装Navicat 191
10.2.3 连接数据库的步骤 192
10.2.4 JDBC入门案例 193
10.3 驱动管理器类 195
10.3.1 加载JDBC驱动 195
10.3.2 DriverManager类 196
10.4 数据库连接接口 197
10.4.1 常用方法 197
10.4.2 处理元数据 198
10.5 数据库常用接口 199
10.5.1 Statement接口 199
10.5.2 PreparedStatement接口 200
10.5.3 ResultSet接口 200
10.6 综合演练——学生信息管理系统 201
10.6.1 创建表student 201
10.6.2 创建学生类 201
10.6.3 连接数据库 203
10.6.4 管理员登录页面 203
10.6.5 登录处理页面 205
10.6.6 显示学生信息 206
10.6.7 添加学生信息 207
10.6.8 修改学生信息 210
10.6.9 删除学生信息 214
10.6.10 错误页面 216
10.6.11 配置文件 216
10.6.12 运行项目 217
10.7 大神解惑 219
10.8 跟我学上机 220
第11章 简化JSP的代码——表达式
语言EL 221
11.1 EL简介 222
11.1.1 EL概述 222
11.1.2 EL基本语法 222
11.1.3 EL变量 222
11.1.4 EL的特点 224
11.2 EL运算符 224
11.2.1 判断是否为空 224
11.2.2 访问数据 225
11.2.3 算术运算符 226
11.2.4 关系运算符 227
11.2.5 逻辑运算符 228
11.2.6 条件运算符 229
11.3 EL隐含对象 230
11.3.1 EL隐含对象概述 230
11.3.2 pageContext隐含对象 230
11.3.3 与范围有关的隐含对象 232
11.3.4 param和paramValues对象 233
11.3.5 header和headerValues对象 235
11.3.6 cookie对象 236
11.3.7 initParam对象 237
11.4 与低版本环境兼容——禁用EL 238
11.4.1 反斜杠“\” 238
11.4.2 page指令 239
11.4.3 配置文件 240
11.5 大神解惑 242
11.6 跟我学上机 243
第12章 网络数据传输的格式——
XML技术 245
12.1 XML概述 246
12.1.1 XML概念 246
12.1.2 XML与HTML的区别 246
12.2 XML基本语法 246
12.2.1 文档声明 246
12.2.2 标签(元素) 247
12.2.3 标签嵌套 247
12.2.4 属性与注释 247
12.2.5 实体引用 248
12.3 XML树结构 249
12.4 XML解析器 249
12.4.1 解析XML文档 250
12.4.2 解析XML字符串 250
12.5 XML 文档对象 251
12.6 大神解惑 254
12.7 跟我学上机 254
第13章 JSP的标签库——
JSTL技术 255
13.1 JSTL简介 256
13.1.1 JSTL概述 256
13.1.2 导入标签库 256
13.1.3 JSTL分类 256
13.2 JSTL环境配置 259
13.3 表达式控制标签 260
13.3.1 <c:out>标签 260
13.3.2 <c:set>标签 261
13.3.3 <c:remove>标签 264
13.3.4 <c:catch>标签 265
13.4 流程控制标签 266
13.4.1 <c:if>标签 266
13.4.2 <c:choose>标签 268
13.4.3 <c:when>标签 268
13.4.4 <c:otherwise>标签 268
13.5 循环标签 269
13.5.1 <c:forEach>标签 269
13.5.2 <c:forTokens>标签 272
13.6 URL操作标签 274
13.6.1 <c:import>标签 274
13.6.2 <c:param>标签 275
13.6.3 <c:url>标签 276
13.6.4 <c:redirect>标签 277
13.7 自定义标签 278
13.7.1 创建功能类 279
13.7.2 描述文件 279
13.7.3 调用标签 280
13.8 大神解惑 281
13.9 跟我学上机 281
第14章 异步交互式动态网页——
Ajax技术 283
14.1 Ajax概述 284
14.1.1 Ajax简介 284
14.1.2 Ajax工作原理 284
14.1.3 Ajax组成元素 284
14.2 XMLHttpRequest对象 285
14.2.1 XHR对象简介 285
14.2.2 XHR常用方法和属性 285
14.2.3 创建XHR对象 288
14.3 XHR请求 289
14.3.1 GET请求 289
14.3.2 POST请求 290
14.4 XHR响应 293
14.4.1 responseText属性 293
14.4.2 responseXML属性 293
14.5 大神解惑 295
14.6 跟我学上机 296
第3篇 框 架 应 用
第15章 经典MVC框架技术——
Struts 2基础知识 299
15.1 Struts 2概述 300
15.1.1 Struts MVC模式 300
15.1.2 Struts工作流程 301
15.1.3 Struts基本配置 301
15.2 第一个Struts 2程序 303
15.2.1 创建JSP页面 303
15.2.2 创建Action 304
15.2.3 struts.xml文件 305
15.2.4 web.xml文件 307
15.2.5 显示信息 307
15.2.6 运行项目 308
15.3 控制器Action 308
15.3.1 Action接口 309
15.3.2 属性注入值 309
15.4 动态方法调用 311
15.4.1 感叹号方式 311
15.4.2 method属性 313
15.4.3 通配符方式 315
15.5 Map类型变量 317
15.6 大神解惑 319
15.7 跟我学上机 320
第16章 技术更上一层楼——Struts 2
高级技术 321
16.1 Struts拦截器 322
16.1.1 拦截器概述 322
16.1.2 拦截器实例 323
16.1.3 Interceptor接口 324
16.1.4 自定义拦截器 324
16.2 Struts标签库 328
16.2.1 标签库的分类 328
16.2.2 标签库的配置 328
16.2.3 数据访问标签 328
16.2.4 流程控制标签 331
16.2.5 表单标签 336
16.3 OGNL表达式语言 342
16.3.1 Struts 2 OGNL表达式 342
16.3.2 获取ActionContext对象
信息 342
16.3.3 获取属性与方法 347
16.3.4 访问静态属性与方法 349
16.3.5 访问数组和集合 351
16.3.6 过滤与投影 355
16.4 Struts上传文件 359
16.5 Struts 2数据验证 364
16.5.1 手动验证 364
16.5.2 XML验证 367
16.6 大神解惑 369
16.7 跟我学上机 369
第17章 数据持久化框架技术——
Hibernate 4技术 371
17.1 Hibernate概述 372
17.1.1 ORM概述 372
17.1.2 Hibernate架构 372
17.2 开发环境配置 372
17.2.1 关联数据库 372
17.2.2 配置Hibernate 374
17.3 Hibernate配置文件 375
17.4 Hibernate相关类 376
17.4.1 配置类 376
17.4.2 会话工厂类 377
17.4.3 会话类 377
17.5 Hibernate中对象状态 377
17.6 Hibernate ORM 379
17.6.1 MyEclipse中建表 379
17.6.2 Hibernate 反转控制 380
17.6.3 Hibernate持久化类 382
17.6.4 Hibernate类映射 383
17.6.5 Session管理 385
17.7 操作持久化类 387
17.7.1 利用Session操作数据 387
17.7.2 利用DAO操作数据 389
17.8 Hibernate查询语言 390
17.8.1 HQL语言介绍 390
17.8.2 FROM语句 390
17.8.3 WHERE语句 391
17.8.4 UPDATE语句 392
17.8.5 DELETE语句 393
17.8.6 INSERT语句 394
17.8.7 动态赋值 394
17.8.8 排序查询 395
17.8.9 分组查询 396
17.8.10 聚合函数 398
17.8.11 联合查询 400
17.8.12 子查询 401
17.8.13 使用分页查询 402
17.9 Hibernate实体映射 405
17.9.1 一对一双向主键关联 406
17.9.2 一对一双向外键关联 410
17.9.3 一对多双向关联 415
17.9.4 多对多双向关联 421
17.10 大神解惑 428
17.11 跟我学上机 428
第18章 轻量级企业应用开发框架——
Spring 4技术 429
18.1 Spring简介 430
18.1.1 Spring模块 430
18.1.2 Spring开发环境配置 431
18.2 Spring控制反转 432
18.2.1 控制反转与依赖注入 432
18.2.2 ApplicationContext接口 433
18.2.3 控制反转实例 433
18.2.4 赋值注入 435
18.2.5 构造器注入 438
18.3 Spring AOP编程 440
18.3.1 AOP基础知识 441
18.3.2 在Spring中使用AOP 441
18.4 大神解惑 450
18.5 跟我学上机 450
第19章 整合三大框架——Struts 2+
Spring 4+ Hibernate 4 451
19.1 配置Struts 2框架 452
19.2 配置Spring 4框架 453
19.3 配置Hibernate 4框架 454
19.4 对象关系映射 455
19.4.1 创建数据库表 455
19.4.2 生成持久类 456
19.4.3 数据库操作 458
19.5 Spring配置文件 462
19.6 视图层 463
19.6.1 注册用户 463
19.6.2 用户列表 464
19.6.3 编辑用户 465
19.6.4 首页 467
19.7 控制层 467
19.8 运行项目 469
19.9 大神解惑 471
19.10 跟我学上机 472
第4篇 项 目 实 训
第20章 项目实训1——开发在线
购物商城 475
20.1 学习目标 476
20.2 需求分析 476
20.3 功能分析 477
20.4 数据库设计 478
20.5 系统代码编写 480
20.5.1 模型 480
20.5.2 数据库操作(Dao) 483
20.5.3 控制层(Service) 492
20.5.4 前台模块 496
20.5.5 后台模块 502
20.5.6 配置文件 507
20.5.7 视图模块 509
20.5.8 项目文件说明 510
20.6 运行项目 511
20.6.1 所使用的环境 511
20.6.2 搭建环境 511
20.6.3 测试项目 512
第21章 项目实训2——开发在线
考试系统 517
21.1 学习目标 518
21.2 Bootstrap简介 518
21.3 需求分析 518
21.4 功能分析 519
21.5 数据库设计 520
21.6 系统代码编写 522
21.6.1 视图模块 522
21.6.2 注册模块 539
21.6.3 登录模块 542
21.6.4 密码修改模块 546
21.6.5 课程模块 550
21.6.6 试卷模块 551
21.6.7 成绩模块 554
21.6.8 通知模块 558
21.6.9 管理模块 558
21.6.10 项目文件说明 560
21.7 运行项目 560
21.7.1 所使用的环境 560
21.7.2 搭建环境 560
21.7.3 测试项目 561
第22章 项目实训3——开发火车
订票系统 569
22.1 学习目标 570
22.2 需求分析 570
22.3 功能分析 571
22.4 数据库设计 571
22.5 系统代码编写 575
22.5.1 视图模块 575
22.5.2 数据库模块 580
22.5.3 用户模块 600
22.5.4 车次管理者模块 606
22.5.5 管理员模块 610
22.5.6 项目文件说明 612
22.6 运行项目 613
22.6.1 所使用的环境 613
22.6.2 搭建环境 613
22.6.3 测试项目 614