版权声明
1. 本站文章和资源均来自互联网收集和整理,本站不承担任何责任及版权问题。
2. 相关版权归作者及其公司所有,仅供学习研究用途,请勿用于商业目的。
3. 若侵犯您的版权,请发邮件至webmaster@ishare1.cn联系我们,我们确认后将立即删除。
在使用spring时,经常需要在普通类中获取session、request对象。
比如一些AOP拦截器类,在有使用struts2时,因为struts2有一个接口使用org.apache.struts2.ServletActionContext即可很方便的取到session对象。
用法:
ServletActionContext.getRequest().getSession();
在传统java spring项目的普通类中,如何获取session、request呢?
1、在web.xml增加如下代码:
org.springframework.web.context.request.RequestContextListener
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。