JavaWeb中的 "Request"对象 实际为 HttpServletRequest 或者 ServletRequest, 两者都为接口服务器接收请求后,将请求数据进行对象封装。
public interface HttpServletRequest extends ServletRequest
- Request对象的结构模型
- Request是四大域对象之一
域对象的定义可以是指可以在不同的servlet进行数据传递。
在JAVA中的四大域对象总结这篇文章中进行详细介绍域对象的相关知识。
- 获取请求参数
存放请求头的内容,可以通过getParameter()进行获取。
存在请求体的内容,只能用流来获取。
文件类型的上传,需要设置请求格式为:multipart/form-data
request.getParameterMap() 和 body 中流的获取是互斥的,针对application/x-www-form-urlencoded类型的POST请求时,。如果在日志记录中,可以通过getParamerterMap()多次获取请求体数据。
参考资料
[^1 ]HttpServletRequest getParameter()丢失问题
[^2 ]Servlet输入流输出流只能消费一次的问题
[^3 ] Http请求中Content-Type讲解以及在Spring MVC注解中produce和consumes配置详解
[^4 ] application/json 四种常见的 POST 提交数据方式
[^5 ]ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段
[^6 ]HttpServletResponse ServletResponse 返回响应 设置响应头设置响应正文体 重定向 常用方法 如何重定向 响应编码 响应乱码