spring的普通类中如何取session和request对像

在使用spring时,经常需要在普通类中获取session,request等对像.
比如一些AOP拦截器类,在有使用struts2时,因为struts2有一个接口使用org.apache.struts2.ServletActionContext即可很方便的取到session对像.
用法:ServletActionContext.getRequest().getSession();
但在单独使用spring时如何在普通类中获取session,reuqest呢?
其实也是有办法的.
首先要在web.xml增加如下代码:
  <listener>
         <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
  </listener>

接着在普通bean类中:




[html] view plaincopy
01.@Autowired 
02.private HttpSession session; 
03. 
04.@Autowired 
05.private HttpServletRequest request; 




即可,在类中使用session对像了,是不是很方便呢..
之所以要写出来是因为目前网上关于这个的用法,都是用什么写个lister再把session保存起来,太麻烦了.
spring这么强大的框架,当然他们早也想到了.所以才有了我们这么方便的使用方法.







当前加了上面的listener后也可以使用代码的方式获取reuqest对像

HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();

猜你喜欢

转载自1185734295.iteye.com/blog/2064161