目录
第1部分Java Web核心技术
第1章建立Java Web开发环境311Java Web概述3
1.1.1前端服务程序3
1.1.2后端服务程序4
12建立Java Web开发环境4
13开发第一个Java Web程序5
1.3.1新建Java Web项目5
1.3.2编写登录页面代码7
1.3.3运行和访问登录页面10
1.3.4IDEA中或页面中出现乱码的解决方法12
14C/S架构和B/S架构12
15练习: 建立Java Web开发环境13
第2章HTTP超文本传输协议14
21前端服务程序与后端服务程序之间的通信14
2.1.1HTTP通信模型14
2.1.2HTTP通信过程跟踪15
22HTTP请求消息18
2.2.1认识URL18
2.2.2HTTP请求消息格式19
2.2.3HTTP请求方法19
2.2.4HTTP常见请求头20
23HTTP响应消息21
2.3.1HTTP响应消息格式21
2.3.2HTTP状态码22
2.3.3HTTP常见响应头23
2.3.4响应体24Java Web程序设计(微课视频版)目录24对HTTP请求进行深入跟踪剖析24
25练习: 跟踪浏览器请求和服务器的响应26
第3章Servlet基础27
31Servlet 入 门27
3.1.1完善登录页面27
3.1.2创建ch03工程28
3.1.3创建Login后端服务程序29
32Servlet的具体应用31
3.2.1登录页面与后端服务程序Login的交互过程31
3.2.2@WebServlet注解36
3.2.3Servlet接口及生命周期37
3.2.4Servlet接口的实现类GenericServlet和HttpServlet39
33案例: 更为完整的Login Servlet程序40
3.3.1案例目标40
3.3.2案例分析41
3.3.3案例实施41
34HttpServletRequest对象及其使用45
3.4.1获取请求参数46
3.4.2获取HTTP请求头信息47
3.4.3转发请求和页面包含49
35HttpServletResponse对象及其应用52
3.5.1发送响应数据到客户端52
3.5.2深入了解setContentType方法和MIME54
3.5.3发送状态码或错误信息55
3.5.4设置响应消息头信息57
3.5.5请求重定向59
36ServletContext对象及其使用60
3.6.1使用ServletContext实现数据共享61
3.6.2使用ServletContext读取资源文件64
3.6.3关于web.xml配置文件66
37案例: 用户注册67
3.7.1案例目标67
3.7.2案例分析67
3.7.3案例实施67
38练习: 编写书籍录入程序71
第4章Servlet文件上传和下载72
41Servlet接收上传文件72
4.1.1编写包含上传文件功能的注册页面73
4.1.2接收客户端上传的头像文件74
4.1.3多文件上传77
42Servlet下载文件到客户端79
4.2.1下载并显示图像80
4.2.2下载并保存图像文件82
4.2.3下载和保存任意类型的文件83
43案例: 美图分享85
4.3.1案例目标86
4.3.2案例分析86
4.3.3案例实施87
44练习: 完善书籍录入程序91
第5章会话管理92
51会话及其常用技术92
52Cookie技术93
5.2.1什么是Cookie93
5.2.2Cookie类93
5.2.3使用Cookie实现会话管理举例94
5.2.4Cookie观察和Cookie使用注意事项99
53Session技术101
5.3.1HttpSession接口101
5.3.2使用HttpSession管理会话举例102
5.3.3Session观察104
54案例: 简单的购物系统106
5.4.1案例目标106
5.4.2案例分析106
5.4.3案例实施107
55练习: 记录用户上次登录的时间和地点112
第6章Servlet监听器和过滤器113
61Servlet监听器113
6.1.1监听ServletContext对象113
6.1.2监听HttpSession对象118
6.1.3监听HttpServletRequest对象119
62Filter过滤器120
6.2.1Filter接口及其实现类HttpFilter121
6.2.2Servlet过滤器应用举例122
6.2.3FilterChain接口125
63案例: 使用过滤器检查用户登录状态125
6.3.1案例目标125
6.3.2案例分析126
6.3.3案例实施126
64练习: 选班长132
第7章访问数据库133
71使用JDBC访问数据库133
7.1.1使用JDBC访问数据库的一般过程133
7.1.2使用JDBC访问数据库示例133
72数据库连接池138
7.2.1什么是数据库连接池138
7.2.2DataSource接口139
7.2.3使用DBCP建立数据库连接池139
7.2.4使用Druid建立数据库连接池142
73案例: 将用户注册信息保存到数据库146
7.3.1案例目标146
7.3.2案例分析146
7.3.3案例实施147
74练习: 将图书信息保存到数据库155
第2部分Java Web表示技术
第8章系统分层结构及MVC设计模式15981程序功能部件之间的耦合度159
82Java Web程序的分层结构159
83Java Web的MVC设计模式160
84常用的Java Web表示技术161
第9章JSP表示技术163
91JSP作为MVC的表示技术163
9.1.1第一个JSP程序163
9.1.2JSP的工作原理165
92JSP程序组成168
9.2.1JSP指令168
9.2.2JSP脚本169
93EL表达式173
9.3.1EL表达式基本语法及EL表达式内置对象173
9.3.2EL表达式运算符177
94JSTL标签及其使用179
9.4.1如何使用JSTL标签库179
9.4.2JSTL核心标签180
95JSP最佳实践190
96案例: 图书信息管理系统191
9.6.1案例目标191
9.6.2案例分析191
9.6.3案例实施192
97练习: 学生信息管理系统206
第10章Thymeleaf表示技术207
101Thymeleaf作为MVC表示技术207
10.1.1导入Thymeleaf到项目工程207
10.1.2创建Thymeleaf引擎208
10.1.3使用Thymeleaf引擎生成结果页面210
102Thymeleaf模板表达式212
10.2.1消息表达式#{...}212
10.2.2变量表达式${...}214
10.2.3选择对象表达式{...}218
10.2.4URL链接表达式@{...}220
103Thymeleaf的字面常量和运算符223
10.3.1字面常量223
10.3.2字符串操作223
10.3.3算术运算、关系运算和逻辑运算224
10.3.4条件运算符224
10.3.5字面常量和运算符使用举例224
104Thymeleaf常用属性及其使用226
10.4.1使用th:text、th:utext和内联属性输出文字226
10.4.2使用th:with属性定义局部变量226
10.4.3使用th:attr属性设置HTML标签的属性值227
105Thymeleaf的条件控制和迭代228
10.5.1th:each迭代的使用228
10.5.2th:if和th:unless条件控制的使用231
10.5.3th:switch/th:case多分支控制的使用232
106Thymeleaf工具类及其使用232
107案例: 图书信息管理系统235
10.7.1案例目标235
10.7.2案例分析235
10.7.3案例实施236
108练习: 学生信息管理系统247
第11章JSON、JavaScript和Ajax248
111JSON及其使用248
11.1.1JSON基础248
11.1.2为什么需要JSON248
11.1.3在Servlet程序中处理JSON数据250
112JavaScript和Ajax253
11.2.1展示所有书籍信息253
11.2.2Ajax255
113案例: 图书信息管理系统260
11.3.1案例目标260
11.3.2案例分析260
11.3.3案例实施260
114练习: 完善图书信息管理系统273
第3部分Java Web高级特性
第12章Servlet高级技术277121AsyncContext异步处理请求技术277
12.1.1AsyncContext入门示例277
12.1.2AsyncContext接口280
12.1.3AsyncListener监听器接口280
122Non Blocking I/O技术283
123案例: 使用AsyncContext访问第三方系统284
12.3.1案例目标284
12.3.2案例分析284
12.3.3案例实施286
124练习: 使用Thymeleaf显示气象数据288
参考文献289