有时候需要在Controller、service中使用HttpServletRequest或HttpServletResponse对象,这里记下3种方法
1.直接在Controller接收参数HttpServletRequest或HttpServletResponse,再传到service类中
2.在service类中需要使用req和res对象的方法上加@ModelAttribute注解,并且在方法
参数列表里接收这两个对象即可在方法里使用
3.在web.xml中配置监听器(专门监听http对象),spring子容器可以使用父容器web的对象
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
@Autowired
private HttpServletRequest request;
@Autowired
private HttpServletResponse response;
对于这三种方法,大同小异,但是方法3会使该类多了2个属性,而方法1、2只是以参数的形式传给某个方法,
要根据具体的使用场合选择方法,比如某个类中有多个方法使用到Http对象,那么使用方法3比较方便。