获取Request对象的几种方式
第一种,参数注入
@GetMapping(value = "/xxx")
public Result xxx(HttpServletRequest request) {
}
第二种,上下文获取。(分两种方式)
private static HttpServletRequest getRequest() {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attributes.getRequest();
return request;
}
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
第三种,通过注解获取
public class xxx{
@Autowired
HttpServletRequest request;
}
获取Request Header参数 HttpHeaders
参数名 |
描述 |
示例 |
Accept |
浏览器端可以接受的媒体类型(MIME) |
application/json, text/plain, / |
Accept-Encoding |
浏览器的内容编码 |
gzip, deflate, br |
Accept-Language |
浏览器的语言类型 |
zh-CN,zh;q=0.9 |
Accept-Charset |
浏览器可接受的字符集 |
utf-8, iso-8859-1;q=0.5, *;q=0.1 |
Authorization |
授权信息,通常出现在对服务器发送的WWW-Authenticate头的应答中,一般用于保存Token |
Bearer 3f3f9563-1ea9-4636-9cc7-27c9211703df |
Cache-Control |
缓存控制,服务器通过控制浏览器要不要缓存数据 |
no-transform |
Connection |
表示是否需要持久连接。如果Servlet看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图 |