spring在普通类中获取session和request,springsession
2016-03-14 15:19
357 查看
spring在普通类中获取session和request,springsession
在使用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;
在普通类中
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
使用springmvc时,怎在普通类中获取到session对象?
你必须要有一个request的引用,否则是取不到的。request可以通过控制器传入,有了request自然就可以取到session了,或者可以通过spring的WebUtils取Session数据,如下:拦截器举例:
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws
Exception {
String context = (String) WebUtils.getSessionAttribute(request,
"context_key");
return context != null ;
}
java 怎在一个普通的类中怎获取session 值
只能在servlet调用参数,传递过去相关文章推荐
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- kindeditor 批量上传 上传失败 thinkphp swfupload session
- Spring整合Quartz(JobDetailBean方式)
- Spring整合Quartz(JobDetailBean方式)
- 杰奇登录后的东西都是在session里面的
- ASP中SESSION无法保存问题的解决办法
- Oracle中的Connect/session和process的区别及关系介绍
- Node.js编程中客户端Session的使用详解
- 浅谈COOKIE和SESSION区别
- 解析PHP的session过期设置
- php中Session的生成机制、回收机制和存储机制探究
- php中将一个对象保存到Session中的方法
- 深入解析Session是否必须依赖Cookie
- 对比分析php中Cookie与Session的异同
- PHP Session机制简介及用法
- 新手菜鸟必读:session与cookie的区别
- 深入讲解PHP Session及如何保持其不过期的方法