Método 1: Parâmetros do método do controlador
Escreva HttpServletRequest no parâmetro method do Controller, para que toda vez que uma requisição for feita, o HttpServletRequest correspondente seja obtido.
@GetMapping("/test")
public void test(HttpServletRequest request) {
}
Método 2: obter do contexto RequestContextHolder
@GetMapping("/test")
public void test(HttpServletRequest request) {
// 从请求上下文里获取Request对象ServletRequestAttributes requestAttributes = ServletRequestAttributes.class.cast(RequestContextHolder.getRequestAttributes());HttpServletRequest contextRequest = requestAttributes.getRequest(); }
Método 3: injeção de dependência @Autowired
@Autowired
HttpServletRequest req;@GetMapping("/test")
public void test(HttpServletRequest request) {
}
Req de injeção de dependência é um objeto proxy. Especificamente, por que @Autowired req é thread-safe, falarei sobre isso na próxima vez.