Request请求对象

时间:2023-08-10 18:02:26

一、Request对象由服务器创建,我们使用

Request请求对象

浏览器访问服务器资源原理:

Request请求对象

二、Request体系结构

Request请求对象

其中,servlet 的service()方法参数列表是 servletRequest对象,

HttpServlet 的 doGet()和 doPost() 方法参数列表是用的 HttpServletRequest对象;

三、Request对象功能之获取请求数据

1、获取请求行

Request请求对象

Request请求对象

2、获取请求头

2.1

Request请求对象

其中,Enumeration类似迭代器Request请求对象

Request请求对象

2.2 获取请求头的“user-agent”,解决浏览器兼容性问题

Request请求对象

2.3 获取请求头“referer”,进行判断,防盗链;

Request请求对象

3、获取请求体,post请求时

Request请求对象

3.1、 form表单提交,action属性值是 虚拟路径(部署的项目名)+ servlet 的注解访问路径

Request请求对象

3.2、获取请求体的字符流,普通请求参数

Request请求对象

四、Request对象功能之获取请求参数通用方式

Request请求对象

其中,获取请求参数通用方式即get和post请求都可以使用;

Request请求对象

Request请求对象

Request请求对象

Request请求对象

五、中文乱码问题

Request请求对象

原理是因为request对象的getParameter()底层还是从流中获取参数,需要设置编码;

六、请求转发

1、只能转发给服务器内部资源

Request请求对象

Request请求对象

其中,浏览器f12抓包可以看到,只有一次请求;

七、共享数据,Resquest域

Request请求对象

Request请求对象

第一个Servlet

Request请求对象

转发给第二个Servlet:

Request请求对象

八、获取ServletContext对象

Request请求对象