第1篇 基础入门 3
第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 confiig对象 95
5.11 exception对象 95
5.12大神解惑 97
5.13跟我学上机 98
第2篇 核心技术 101
第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 ServletConfiig接口 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:setProper〉动作 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 FilterConfiig接口 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.2Ajax工作原理 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篇 框架应用 299
第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篇 项目实训 475
第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