在使用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类中:

@Autowired  
private HttpSession session;  
  
@Autowired  
private HttpServletRequest request;  
即可,在类中使用session对像了


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

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

参考来源: http://blog.csdn.net/yousite1/article/details/7108585

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐