spring普通类获取session和request对象

内容摘要
比如一些AOP拦截器类,在有使用struts2时,因为struts2有一个接口使用org.apache.struts2.ServletActionContext即可很方便的取到session对象。用法:ServletActionContext.getReq
文章正文

比如一些AOP拦截器类,在有使用struts2时,因为struts2有一个接口使用org.apache.struts2.ServletActionContext即可很方便的取到session对象。

用法:

ServletActionContext.getRequest().getSession();

在传统java spring项目的普通类中,如何获取session、request呢?

1、在web.xml增加如下代码:

<listener>
        <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>

2、在普通类中就可以直接注入session和request了

@Autowired
private HttpSession session;
 
@Autowired
private HttpServletRequest request;

除此之外,在第一步的Listener后也可以使用代码的方式获取reuqest对象:

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

如果是在spring boot项目中,没有web.xml,也不需要收手动注册第一步的Listener,可以直接在普通类中注入session和request。

代码注释
[!--zhushi--]

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!