图书目录

目录

第1部分Java Web核心技术

第1章建立Java Web开发环境311Java Web概述3

1.1.1前端服务程序3

1.1.2后端服务程序4

12建立Java Web开发环境4

13开发第一个Java Web程序5

1.3.1新建Java Web项目5

1.3.2编写登录页面代码7

1.3.3运行和访问登录页面10

1.3.4IDEA中或页面中出现乱码的解决方法12

14C/S架构和B/S架构12

15练习: 建立Java Web开发环境13

第2章HTTP超文本传输协议14

21前端服务程序与后端服务程序之间的通信14

2.1.1HTTP通信模型14

2.1.2HTTP通信过程跟踪15

22HTTP请求消息18

2.2.1认识URL18

2.2.2HTTP请求消息格式19

2.2.3HTTP请求方法19

2.2.4HTTP常见请求头20

23HTTP响应消息21

2.3.1HTTP响应消息格式21

2.3.2HTTP状态码22

2.3.3HTTP常见响应头23

2.3.4响应体24Java Web程序设计(微课视频版)目录24对HTTP请求进行深入跟踪剖析24

25练习: 跟踪浏览器请求和服务器的响应26

第3章Servlet基础27

31Servlet 入 门27

3.1.1完善登录页面27

3.1.2创建ch03工程28

3.1.3创建Login后端服务程序29

32Servlet的具体应用31

3.2.1登录页面与后端服务程序Login的交互过程31

3.2.2@WebServlet注解36

3.2.3Servlet接口及生命周期37

3.2.4Servlet接口的实现类GenericServlet和HttpServlet39

33案例: 更为完整的Login Servlet程序40

3.3.1案例目标40

3.3.2案例分析41

3.3.3案例实施41

34HttpServletRequest对象及其使用45

3.4.1获取请求参数46

3.4.2获取HTTP请求头信息47

3.4.3转发请求和页面包含49

35HttpServletResponse对象及其应用52

3.5.1发送响应数据到客户端52

3.5.2深入了解setContentType方法和MIME54

3.5.3发送状态码或错误信息55

3.5.4设置响应消息头信息57

3.5.5请求重定向59

36ServletContext对象及其使用60

3.6.1使用ServletContext实现数据共享61

3.6.2使用ServletContext读取资源文件64

3.6.3关于web.xml配置文件66

37案例: 用户注册67

3.7.1案例目标67

3.7.2案例分析67

3.7.3案例实施67

38练习: 编写书籍录入程序71

第4章Servlet文件上传和下载72

41Servlet接收上传文件72

4.1.1编写包含上传文件功能的注册页面73

4.1.2接收客户端上传的头像文件74

4.1.3多文件上传77

42Servlet下载文件到客户端79

4.2.1下载并显示图像80

4.2.2下载并保存图像文件82

4.2.3下载和保存任意类型的文件83

43案例: 美图分享85

4.3.1案例目标86

4.3.2案例分析86

4.3.3案例实施87

44练习: 完善书籍录入程序91

第5章会话管理92

51会话及其常用技术92

52Cookie技术93

5.2.1什么是Cookie93

5.2.2Cookie类93

5.2.3使用Cookie实现会话管理举例94

5.2.4Cookie观察和Cookie使用注意事项99

53Session技术101

5.3.1HttpSession接口101

5.3.2使用HttpSession管理会话举例102

5.3.3Session观察104

54案例: 简单的购物系统106

5.4.1案例目标106

5.4.2案例分析106

5.4.3案例实施107

55练习: 记录用户上次登录的时间和地点112

第6章Servlet监听器和过滤器113

61Servlet监听器113

6.1.1监听ServletContext对象113

6.1.2监听HttpSession对象118

6.1.3监听HttpServletRequest对象119

62Filter过滤器120

6.2.1Filter接口及其实现类HttpFilter121

6.2.2Servlet过滤器应用举例122

6.2.3FilterChain接口125

63案例: 使用过滤器检查用户登录状态125

6.3.1案例目标125

6.3.2案例分析126

6.3.3案例实施126

64练习: 选班长132

第7章访问数据库133

71使用JDBC访问数据库133

7.1.1使用JDBC访问数据库的一般过程133

7.1.2使用JDBC访问数据库示例133

72数据库连接池138

7.2.1什么是数据库连接池138

7.2.2DataSource接口139

7.2.3使用DBCP建立数据库连接池139

7.2.4使用Druid建立数据库连接池142

73案例: 将用户注册信息保存到数据库146

7.3.1案例目标146

7.3.2案例分析146

7.3.3案例实施147

74练习: 将图书信息保存到数据库155

第2部分Java Web表示技术

第8章系统分层结构及MVC设计模式15981程序功能部件之间的耦合度159

82Java Web程序的分层结构159

83Java Web的MVC设计模式160

84常用的Java Web表示技术161

第9章JSP表示技术163

91JSP作为MVC的表示技术163

9.1.1第一个JSP程序163

9.1.2JSP的工作原理165

92JSP程序组成168

9.2.1JSP指令168

9.2.2JSP脚本169

93EL表达式173

9.3.1EL表达式基本语法及EL表达式内置对象173

9.3.2EL表达式运算符177

94JSTL标签及其使用179

9.4.1如何使用JSTL标签库179

9.4.2JSTL核心标签180

95JSP最佳实践190

96案例: 图书信息管理系统191

9.6.1案例目标191

9.6.2案例分析191

9.6.3案例实施192

97练习: 学生信息管理系统206

第10章Thymeleaf表示技术207

101Thymeleaf作为MVC表示技术207

10.1.1导入Thymeleaf到项目工程207

10.1.2创建Thymeleaf引擎208

10.1.3使用Thymeleaf引擎生成结果页面210

102Thymeleaf模板表达式212

10.2.1消息表达式#{...}212

10.2.2变量表达式${...}214

10.2.3选择对象表达式{...}218

10.2.4URL链接表达式@{...}220

103Thymeleaf的字面常量和运算符223

10.3.1字面常量223

10.3.2字符串操作223

10.3.3算术运算、关系运算和逻辑运算224

10.3.4条件运算符224

10.3.5字面常量和运算符使用举例224

104Thymeleaf常用属性及其使用226

10.4.1使用th:text、th:utext和内联属性输出文字226

10.4.2使用th:with属性定义局部变量226

10.4.3使用th:attr属性设置HTML标签的属性值227

105Thymeleaf的条件控制和迭代228

10.5.1th:each迭代的使用228

10.5.2th:if和th:unless条件控制的使用231

10.5.3th:switch/th:case多分支控制的使用232

106Thymeleaf工具类及其使用232

107案例: 图书信息管理系统235

10.7.1案例目标235

10.7.2案例分析235

10.7.3案例实施236

108练习: 学生信息管理系统247

第11章JSON、JavaScript和Ajax248

111JSON及其使用248

11.1.1JSON基础248

11.1.2为什么需要JSON248

11.1.3在Servlet程序中处理JSON数据250

112JavaScript和Ajax253

11.2.1展示所有书籍信息253

11.2.2Ajax255

113案例: 图书信息管理系统260

11.3.1案例目标260

11.3.2案例分析260

11.3.3案例实施260

114练习: 完善图书信息管理系统273

第3部分Java Web高级特性

第12章Servlet高级技术277121AsyncContext异步处理请求技术277

12.1.1AsyncContext入门示例277

12.1.2AsyncContext接口280

12.1.3AsyncListener监听器接口280

122Non Blocking I/O技术283

123案例: 使用AsyncContext访问第三方系统284

12.3.1案例目标284

12.3.2案例分析284

12.3.3案例实施286

124练习: 使用Thymeleaf显示气象数据288

参考文献289