1.通過(guò)注解獲取(很簡(jiǎn)單,推薦)
public class HelloController {
@Autowired
protected HttpServletRequest request; //這里可以獲取到request
}
2.在web.xml中配置一個(gè)監(jiān)聽(tīng)
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
Java代碼
HttpServletRequest request =
((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
3.直接在參數(shù)中傳遞(此方法不好用,不建議使用):
public String helloController(HttpServletRequest request)
4.我曾經(jīng)使用的方式@ModelAttribute方式
public abstract class BaseController {
protected HttpServletRequest request;
protected HttpServletResponse response;
protected HttpSession session;
protected ServletContext application;
@ModelAttribute
public void initServletApi(HttpServletRequest request,HttpServletResponse response){
this.request = request;
this.response = response;
this.session = request.getSession();
this.application = this.session.getServletContext();
}
}