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

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

二、Request体系结构

其中,servlet 的service()方法参数列表是 servletRequest对象,
HttpServlet 的 doGet()和 doPost() 方法参数列表是用的 HttpServletRequest对象;
三、Request对象功能之获取请求数据
1、获取请求行


2、获取请求头
2.1

其中,Enumeration类似迭代器

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

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

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

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

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

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

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




五、中文乱码问题

原理是因为request对象的getParameter()底层还是从流中获取参数,需要设置编码;
六、请求转发
1、只能转发给服务器内部资源


其中,浏览器f12抓包可以看到,只有一次请求;
七、共享数据,Resquest域


第一个Servlet

转发给第二个Servlet:

八、获取ServletContext对象
