springboot项目如何设置session的过期时间

目录
  • 这里我们只介绍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;
}
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Springboot如何去掉URL后面的jsessionid

    目录 如何去掉URL后面的jsessionid url中有Jsessionid生成的原因 解决方式一 解决方式二 Java关于jsessionid和URL 对SEO的冲击 安全问题 解决之道 如何去掉URL后面的jsessionid url中有Jsessionid生成的原因 jsessionid是标明session的id,它存在于cookie中,一般情况不会出现在url中,服务器会从客户端的cookie中取出来,但是如果客户端禁用了cookie的话,就要重写url了,显式的将jsessionid

  • Springboot 配置SqlSessionFactory方式

    目录 Springboot 配置SqlSessionFactory Springboot SqlSessionFactory错误 Springboot 配置SqlSessionFactory Spring官方提供了比较完善的数据库配置,但是某些情况下需要自己手动加载(如:配置多数据源) 以下是我搜集并整理出来的一个configuration,不足之处或错误请大家提出并指正 package cn.xt.config; import org.mybatis.spring.SqlSessionFact

  • springboot2如何禁用自带tomcat的session功能

    目录 禁用自带tomcat的session功能 禁用内置Tomcat的不安全请求方法 禁用自带tomcat的session功能 微服务下的各个服务都是无状态的,所以这个时候tomcat的session管理功能是多余的,即时不用,也会消耗性能,关闭后tomcat的性能会有提升,但是springboot提供的tomcat没有配置选项可以直接关闭,研究了一下,tomcat默认的session管理器名字叫:StandardManager,查看tomcat加载源码发现,如果context中没有Manage

  • 关于springboot中对sqlSessionFactoryBean的自定义

    目录 springboot sqlSessionFactoryBean自定义 代码如下 以上配置也可以通过properties文件配置 springboot启动报找不到sqlSessionFactory springboot sqlSessionFactoryBean自定义 1.新建一个配置类,加上configuration注解 2.定制化SqlSessionFactoryBean,然后交给容器管理 代码如下 @Configuration public class MybatisConfig {

  • springboot如何通过session实现单点登入详解

    目录 我对于单点的理解 效果图走起 代码部分 总结 我对于单点的理解 正常的登录 进入自己系统的登录页面,输入用户名密码,登录系统. 单点登录 来到一个第三方的登录页面,输入用户名密码,在这个页面登录成功之后,就算成功的登录了应用系统.好处在于这个登录页面不仅仅是登录一个系统,可以同时登录多个系统.即所谓的一次登录,全程畅通. 效果图走起 另外开一个浏览器 原来的页面刷新一下 发现他已经被挤下线 代码部分 package com.nx.j2ee.service; import org.sprin

  • springboot2中session超时,退到登录页面方式

    目录 session超时退到登录页面 1.首先在springboot中追加配置session的超时时间 2.登录成功接口中把用户信息追加session中 3.在WebMvcConfig中配置拦截规则和重定向规则 4.实现拦截器,先跳转到超时页面 5.在超时页面让用户等待几秒钟 session超时的问题 session超时退到登录页面 最近发现使用的工程居然没有session超时机制,功能太欠缺了,现在把追加方法分享出来,里面有一些坑,大家自由使用. 1.首先在springboot中追加配置ses

  • springboot项目如何设置session的过期时间

    目录 这里我们只介绍springboot2.0的session时间设置 下面这种方式是设置24小时的 或者使用第二种方式 springboot设置session失效的几种方式 如果是1.5.6版本 第二个 第三个 这里我们只介绍springboot2.0的session时间设置 Duration转换字符串方式,默认为正,负以-开头,紧接着P,(字母不区分大小写)D :天 T:天和小时之间的分隔符 H :小时 M:分钟 S:秒 每个单位都必须是数字,且时分秒顺序不能乱. 例如PT10M,就是设置为

  • 在ASP.NET中,设置Session的过期时间的方法

    方法一: 在后台应用程序中设置:Session.Timeout = 1; 注意:1.此方法可以设置在一个公共的页面中,然后直接调用即可. 2.时间是以分钟为单位的 方法二: 在Web.config中设置: 在<system.web></system.web>中写入<sessionState mode="InProc" timeout="1" />

  • Python操作Redis之设置key的过期时间实例代码

    Expire 命令用于设置 key 的过期时间.key 过期后将不再可用. r.set('2', '4028b2883d3f5a8b013d57228d760a93') #成功就返回True 失败就返回False,下面的20表示是20秒 print r.expire('2',20) #如果时间没事失效我们能得到键为2的值,否者是None print r.get('2') 对于一个已经存在的key,我们可以设置其过期时间,到了那个时间后,当你再去访问时,key就不存在了 有两种方式可以设置过期时间

  • Springsecurity Oauth2如何设置token的过期时间

    1.设置token的过期时间 如果我们是从数据库来读取客户端信息的话 我们只需要在数据库设置token的过期时间 1.1 oauth_client_details表每个列的作用 client_id:客户端的id 用于唯一标识每一个客户端(client):注册时必须填写(也可以服务端自动生成),这个字段是必须的,实际应用也有叫app_key resource_ids:资源服务器的id,多个用,(逗号)隔开 客户端能访问的资源id集合,注册客户端时,根据实际需要可选择资源id,也可以根据不同的额注册

  • localStorage设置有效期和过期时间的简单方法

    目录 前言 实现思路 实现代码 总结 前言 总所周知localStorage默认是不会过期的,也没有可设置过期的api,如果要实现过期清除就需要自己实现一个api 实现思路 在Storage原型上新增两个方法setCanExpireLocal,getCanExpireLocal,分别用于设置和获取值 实现过期功能至少需要三个时间,存值时间,取值时间,有效时间 存取时间戳都是在函数被调用时在函数内通过Date.now()生成 有效时间在存值的时候传入 如果存值时间戳加上有效时间小于当前时间戳说明还

  • php 如何设置一个严格控制过期时间的session

    1.php session 有效期 PHP的session有效期默认是1440秒(24分钟),如果客户端超过24分钟没有刷新,当前session会被回收,失效. 当用户关闭浏览器,会话结束,session也会失效. 可以修改php.ini的session.gc_maxlifetime来设置session的生命周期,但并不能保证在超过这一时间后session信息立即会删除.因为GC是按机率启动的,可能在某一个长时间内都没有被启动.那么大量的session在超过session.gc_maxlifet

  • redis 设置生存和过期时间的原理分析

    目录 在了解原理前 先来看使用方法 原理 过期键的判定 Redis的过期键删除策略原理 在了解原理前 先来看使用方法 通过EXPIRE命令或者PEXPIRE命令,客户端可以以秒或者毫秒精度为数据库中的某个键设置生存时间,在经过指定的秒数或者毫秒数之后,服务器就会自动删除生存时间为0的键. SETEX命令可以在设置一个字符串键的同时为键设置过期时间(只能用于字符串键) 与EXPIRE命令和PEXPIRE命令类似,客户端可以通过EXPIREAT命令或PEXPIREAT命令,以秒或者毫秒精度给数据库中

  • 判断Session的过期时间 采用JavaScript实时显示剩余多少秒

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <%session.timeout=1440 '单位(分钟)1440=24小时 参数不能大于24小时 也就是不能大于1440分钟%> <% if session("login")<>"888888" then'判断Session是否有效 Response.Write("Session过期了&quo

  • asp中设置session过期时间方法总结

    如果程序中没有设置session的过期时间,那么session过期时间就会按照IIS设置的过期时间来执行,IIS中session默认过期时间为20分钟,IIS中session时间可以更改 时间设置要放在前面 例如 复制代码 代码如下: Session.Timeout=30 'SEESION有效时间为30分钟 Session("ID")=Rs("id") Session("Name")=Rs("Name") Session(&q

  • java操作Redis缓存设置过期时间的方法

    关于Redis的概念和应用本文就不再详解了,说一下怎么在java应用中设置过期时间. 在应用中我们会需要使用redis设置过期时间,比如单点登录中我们需要随机生成一个token作为key,将用户的信息转为json串作为value保存在redis中,通常做法是: //生成token String token = UUID.randomUUID().toString(); //把用户信息写入redis jedisClient.set(REDIS_USER_SESSION_KEY + ":"

随机推荐