一、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对象