1. 什么是Servlet

image.png

2. Servlet详细介绍

2.1 第一个Servlet程序

image.png
image.png
image.png
image.png

2.2 Servlet程序的常见错误

url地址没有以 / 开头

image.png

servlet-name不一致

image.png

servlet-class配置错误

image.png

2.3 url地址如何定位到Servlet程序

image.png

2.4 Servlet生命周期的方法

image.png

2.5 请求的分发处理

image.png

GET请求

image.png
image.png

POST请求

image.png
image.png

2.6 通过继承HttpServlet实现Servlet程序

image.png

2.7 整个Servlet类的继承体系

image.png

3. ServletConfig类

从名称上看,ServletConfig类是Servlet的配置信息类

3.1 ServletConfig类的使用介绍

image.png
image.png

3.2 ServletConfig类的补充说明

每个Servlet程序存在对应的ServletConfig对象

image.png
image.png
image.png

NullPointerException

image.png
image.png
image.png
image.png

4. ServletContext

4.1 ServletContext的介绍

image.png

4.2 ServletContext的作用

image.png

获取context-param上下文参数

image.png
image.png

获取当前工程的路径

image.png

获取当前工程部署在服务器上的绝对路径

image.png
image.png

像Map一样存取数据

image.png

5. HTTP协议

5.1 什么是HTTP协议

image.png

5.2 请求的HTTP协议格式

GET请求

image.png
image.png

POST请求

image.png
image.png

常用请求头

image.png

5.3 响应的HTTP协议格式

image.png
image.png

常见的响应码

image.png

5.4 HttpServletRequest类

HttpServletRequest类的作用

image.png

HttpServletRequest类的常用方法

image.png

解决POST请求的中文乱码问题

image.png
image.png

请求转发

image.png
image.png
image.png

  1. req.getRequestDispatcher("/WEB-INF/index.jsp").forward(req, resp);

请求转发中的路径问题

首先,回顾下JavaWeb中的路径
image.png
抛出问题:
image.png
image.png
image.png
发现没问题,能够跳回去;那我们试试 请求转发:
image.png
image.png
image.png
分析原因,可知:
image.png
用base标签解决
image.png
image.png

Web中斜杠 / 的不同意义

image.png

5.5 HttpServletResponse类

image.png

响应流

image.pngimage.png

如何往客户端回传数据

image.png

解决响应的中文乱码问题

首先,我们看看默认的字符集是什么
image.png

  • 方案一

设置服务器字符集,发现还是不行。原因为:浏览器和服务器的字符集不统一
image.png
image.png
通过响应头,设置浏览器的字符集
image.png
image.png

  • 方案二

image.png

请求重定向

指 客户端给服务器发请求,然后服务器告诉客户端:给你一新地址,去新地址访问。这就是 请求重定向(因为之前的地址可能已经被废弃)
image.png
Servlet规范 - 图73

  • 方案一

image.png

  • 方案二

image.png