springboot项目如何设置session的过期时间
程序员文章站
2022-06-10 11:06:20
目录这里我们只介绍springboot2.0的session时间设置下面这种方式是设置24小时的或者使用第二种方式springboot设置session失效的几种方式如果是1.5.6版本第二个第三个这...
这里我们只介绍springboot2.0的session时间设置
duration转换字符串方式,默认为正,负以-开头,紧接着p,(字母不区分大小写)d :天 t:天和小时之间的分隔符 h :小时 m:分钟 s:秒 每个单位都必须是数字,且时分秒顺序不能乱。
例如pt10m,就是设置为10分钟,
下面这种方式是设置24小时的
错误的设置是下面这种方式,这种是不起效果的
server.servlet.session.timeout=30s
或者使用第二种方式
session1.setmaxinactiveinterval(60*60);//设置session一小时后失效
springboot设置session失效的几种方式
如果是1.5.6版本
这里 可以在application中加上bean文件
package com.example.demo; import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.springbootapplication; import org.springframework.boot.context.embedded.configurableembeddedservletcontainer; import org.springframework.boot.context.embedded.embeddedservletcontainercustomizer; import org.springframework.context.annotation.bean; @springbootapplication public class demoapplication {undefined public static void main(string[] args) { springapplication.run(demoapplication.class, args); } //设置session过期时间 @bean public embeddedservletcontainercustomizer containercustomizer() { return new embeddedservletcontainercustomizer() { public void customize(configurableembeddedservletcontainer container) { container.setsessiontimeout(7200);// 单位为s } }; } }
第二个
还可以设置
application.yml
server: port: 8081 servlet: session: timeout: 60s
第三个
@restcontroller public class hellocontroller {undefined @postmapping("test") public integer gettest(@requestparam("nyy")string nn, httpservletrequest httpservletrequest ){ httpsession session = httpservletrequest.getsession(); session.setmaxinactiveinterval(60); int maxinactiveinterval = session.getmaxinactiveinterval(); long lastaccessedtime = session.getlastaccessedtime(); return maxinactiveinterval; } }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。