DebugEN
科技森
专注于Java开发~每天都会更新文章~
  1. 首页
  2. Java
  3. 正文

如何设置Servlet的session超时时间

2021年02月04日 1648点热度 0人点赞 0条评论 作者: kejisen

概述

本教程将介绍如何在基于Servlet的Web应用程序中设置会话(session)的超时时间。

web.xml中的会话超时配置

尽管现在spring boot非常流行,但仍然有相当多的应用使用传统方式部署和运行——独立的Tomcat服务器。在Tomcat中,你可以给你的应用配置一个全局的会话超时时间:

<?xml version="1.0" encoding="UTF-8"?>
<web-app ...>

    ...
    <session-config>
        <session-timeout>10</session-timeout>
    </session-config>

</web-app>

请注意,这里超时时间以分钟为单位,而不是秒。

一个有趣的事情是,在Servlet3.0之后,我们可以脱离web.xml,直接使用注解来配置一个项目,在这种情况下,我们无法使用注解来配置全局的会话超时时间,必须使用XML的方式才可以。

Servlet代码中手动指定超时时间

我们可以通过javax.servlet.http.HttpSession的API以编程方式指定当前会话的超时:

HttpSession session = request.getSession();
session.setMaxInactiveInterval(10*60);

与上面web.xml不同的是,此处超时时间的单位是秒

Tomcat的web.xml

所有Tomcat服务器都提供一个默认的web.xml文件,可以为整个Web服务器全局配置 - 该文件位于:

$tomcat_home/conf/web.xml

这个默认配置将<session-timeout>配置为值为30分钟。

单个部署的应用程序,在其自己的web.xml文件中提供自己的超时值将优先于并覆盖此全局web.xml配置。

请注意,Jetty也是如此:文件位于:

$jetty_home/etc/webdefault.xml

结论

本教程讨论了如何在Servlet Java应用程序中配置HTTP会话超时的实际方面。我们还说明了如何在Tomcat和Jetty中在Web服务器级别设置它。

标签: java servlet session spring tomcat
最后更新:2021年03月03日

kejisen

保持饥渴的专注,追求最佳的品质

点赞
< 上一篇
下一篇 >

文章评论

取消回复
最新 热点 随机
最新 热点 随机
【原创】记录一次失败的折腾——使用jkeymaster实现的按键监听 【原创】这些年我用过的IDEA插件 【原创】在windows上使用VNC远程连接linux桌面 我在RxJava使用线程池时遇到的问题 [原创文章] Swagger生成pdf格式的接口文档 [个人翻译]Java HTTP工具类的客户端证书认证 [原创] 如何从 Git 的提交历史记录中删除大文件 [翻译] 创建一个只读的Repository接口(Spring Data) [翻译] 反射的用法——用Java调用私有方法 Java 虚拟机最多可以支持多少个线程? 排查Hibernate的慢查询日志–这是查找慢查询的最简单方法 [翻译] 使用apache poi在excel文件中插入一行数据 [翻译] 在Spring 中@EntityScan与@ComponentScan注解有什么区别 [原创] 从QQ音乐网页版扒歌词的补充说明 [原创] 介绍java maven项目的多种打包方式 原创——在Java中生成随机数 将G1垃圾回收的内存使用量减少20%(翻译) [原创] java8 lambda表达式的toMap造成的空指针异常 [原创] 在Spring Boot中使用CommandLineRunner来在启动时执行代码 [转载] Kafka 节点重启失败导致数据丢失的分析排查与解决之道
Java 虚拟机最多可以支持多少个线程? [翻译] 反射的用法——用Java调用私有方法 [原创] 关于Java的Base64编码 [翻译] 创建一个只读的Repository接口(Spring Data) [原创]javaslang(vavr.io)中Try的使用 [原创] 如何从 Git 的提交历史记录中删除大文件 中通Elasticsearch集群运维实践 [原创] 从QQ音乐网页版扒歌词的补充说明 [原创] Spring Boot使用CommandLineRunner [原创] 在spring-boot中使用querydsl 中通Elasticsearch集群运维实践(二)--监控告警 [翻译] 使用apache poi在excel文件中插入一行数据 排查Hibernate的慢查询日志–这是查找慢查询的最简单方法 【原创】记录一次失败的折腾——使用jkeymaster实现的按键监听 [原创] 如何使用java(javamail)发送带附件的邮件 [个人翻译]Java HTTP工具类的客户端证书认证 [原创] java8 lambda表达式的toMap造成的空指针异常 [原创] 在Spring Boot中使用CommandLineRunner来在启动时执行代码 Spring Boot项目修改Tomcat端口号 我在RxJava使用线程池时遇到的问题
标签聚合
qq音乐 spring base64 java json 歌词 elasticsearch maven springboot linux

COPYRIGHT © 2020 Kejisen. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS