spring在普通类中获取session和request,springsession

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调用参数,传递过去

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值