httpsession过期时间

因为前后端分离的开发和以前普通的jsp开发有所区别,前端使用的是html页面,而后台只提供了ajax访问的数据接口,所以一直对后台session中的值什么时候过期感兴趣。今天关于session中的值在什么时候才会过期做了一个实验。

我在后台提供了2个接口

@GetMapping("/getSessionValue")
@ResponseBody
public void d1(HttpSession session) {
    // 打印session中的值
    System.out.println(session.getAttribute("user"));
}

@GetMapping("/setSessionValue")
@ResponseBody
public void d2(HttpSession session) {
    // 向session中存储数据
    session.setAttribute("user", "dagger");
}
复制代码

最后发现如果html页面和java项目是在同一个ip和端口下运行的,那么session中的值是在关闭浏览器后才销毁的。
如果,html页面和java项目不是在同一个端口下运行的,那么每一次ajax请求都只代表一次连接,即下次同样的html页面再次请求后台的接口时,session都不是同一个了。可以采用redis来存储session的方式。 在ajax自定义参数如:

$.ajax({
    url:url,
    // 加上这个参数就可以了,允许跨域访问携带cookie
    xhrFields: {
       withCredentials: true
    },
    crossDomain: true,
    success:function() {
    },
    error:function() {
    }
});
复制代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值