当您可以使用基于Java的配置开发Spring应用程序时,我们生活在一个美好的时光。 不再有多余的XML代码,只有纯Java代码。 在本文中,我想讨论一个关于Spring应用程序中会话管理的热门话题。 更确切地说,我将以Java配置样式讨论会话超时。

因此,在我以前的一篇博客文章中,我已经说过如何管理会话的生命周期。 但是该解决方案意味着使用了web.xml文件,这对于基于Java的配置不是必需的。 因为它的作用是扩展AbstractAnnotationConfigDispatcherServletInitializer类的类。 通常看起来像这样:

import javax.servlet.Filter;import org.springframework.web.filter.HiddenHttpMethodFilter;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;public class Initializer extends AbstractAnnotationConfigDispatcherServletInitializer {@Overrideprotected Class<?>[] getRootConfigClasses() {return null;}@Overrideprotected Class<?>[] getServletConfigClasses() {return new Class<?>[] { WebAppConfig.class };}@Overrideprotected String[] getServletMappings() {return new String[] { "/" };}@Overrideprotected Filter[] getServletFilters() {return new Filter[] { new HiddenHttpMethodFilter() };}}

我已经写了很多有关这种配置用法的文章,但是在这里我们应该特别注意AbstractAnnotationConfigDispatcherServletInitializer扩展的类。 我谈论AbstractDispatcherServletInitializer类。 它具有onStartup(ServletContext servletContext)方法。 其目的是使用初始化此Web应用程序所需的任何Servlet,过滤器,侦听器上下文参数和属性来配置ServletContext

直接在这个地方,是回顾HttpSessionListener接口的好时机。 正如您已经在此接口的实现中猜到的那样,我们能够在应用程序中管理每个刚创建的会话。 例如,我们可以将最大非活动间隔设置为等于5分钟:

import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;public class SessionListener implements HttpSessionListener {@Overridepublic void sessionCreated(HttpSessionEvent event) {System.out.println("==== Session is created ====");event.getSession().setMaxInactiveInterval(5*60);}@Overridepublic void sessionDestroyed(HttpSessionEvent event) {System.out.println("==== Session is destroyed ====");}
}

为了将此会话管理更改应用到基于Java的配置中,我们必须向Initializer类添加以下代码片段:

...@Overridepublic void onStartup(ServletContext servletContext) throws ServletException {super.onStartup(servletContext);servletContext.addListener(new SessionListener());}
...

这就是所有的Java怪胎,喜欢编码。

翻译自: https://www.javacodegeeks.com/2014/05/spring-java-configuration-session-timeout.html

Spring Java配置:会话超时相关推荐

  1. spring java配置_Spring:使基于Java的配置更加优雅

    spring java配置 大家好,我很久没有写新文章了. 积累了很多资料,需要在不久的将来在我的博客中发布. 但是现在我想谈谈Spring MVC应用程序配置. 确切地说,我想谈谈基于Java的Sp ...

  2. spring java配置_Spring Java配置

    spring java配置 我发现许多我认识的Spring开发人员仍然不了解或使用Spring Java Configuration(aka JavaConfig). Spring 3.0引入了此功能 ...

  3. Spring Java配置

    我发现许多我认识的Spring开发人员仍然不了解或使用Spring Java Configuration(aka JavaConfig). Spring 3.0引入了此功能,该功能使Spring可以完 ...

  4. spring java配置_Spring基于java的配置

    我们之前都了解过spring基于xml的配置,我们也可以通过配置类来完成基于xml的配置,我们会在下面以一个例子来讲述一下Spring基于java的配置. 首先第一步准备工作: 1)创建一个Dog类 ...

  5. java web超时提醒_如何在Java Web应用程序中动态设置会话超时?

    我需要给我的用户一个Web界面来更改会话超时间隔. 因此,Web应用程序的不同安装对其会话可以具有不同的超时,但是它们的web.xml不能相同. 您的问题很简单,您需要在运行时配置会话超时间隔,并且应 ...

  6. java redirect 超时_会话超时后,Spring安全性不会重定向到上次请求的页面登录

    首先启用并发会话控制支持是在以下位置添加以下侦听器web.xml: org.springframework.security.web.session.HttpSessionEventPublisher ...

  7. java多个数据库数据进行访问_通过Spring Boot配置动态数据源访问多个数据库的实现代码...

    之前写过一篇博客<Spring+Mybatis+Mysql搭建分布式数据库访问框架>描述如何通过Spring+Mybatis配置动态数据源访问多个数据库.但是之前的方案有一些限制(原博客中 ...

  8. Spring Security并发会话控制示例教程–如何限制Java JEE Web应用程序中的用户会话数...

    如果您不知道, Spring安全性可能会限制用户可以拥有的会话数. 如果要开发Web应用程序,尤其是Java JEE中的安全Web应用程序 ,则必须提出与在线银行门户相似的要求,例如, 每个用户一次只 ...

  9. java避免使用orderby_java – Spring安全配置@Order不是唯一的例外

    我试图在我的Spring Security配置中注册多个过滤器,但是我总是得到相同的异常: 04-Nov-2015 14:35:23.792 WARNING [RMI TCP Connection(3 ...

最新文章

  1. ubuntu18.04在终端安装pip3时404 Not Found [IP: 91.189.91.24 80]_木绿的博客-CSDN博客
  2. javascript function
  3. 解决GNS3桥接本地网卡后无法跟本地网卡通信的故障。
  4. 观察内核linux行为,观察linux行为 实验报告.doc
  5. 3.type关键字.rs
  6. Redis 未授权访问缺陷可轻易导致系统被黑
  7. 中国企业海外人才发展白皮书
  8. Error while waiting for device: The emulator process for AVD Pixel_2_XL_API_28 was killed.
  9. hql 占位符_hibernate中如何使用占位符拼接HQL
  10. 电子设计教程42:限流软启动电路
  11. 小米路由器3c 虚拟服务器,小米路由器怎么设置_小米路由器3c设置教程-WIFI之家...
  12. 山石sg6000e1700配置手册_Hillstone SG-6000安装手册.pdf
  13. deepstream多路rtsp流,避免相互影响
  14. Vue 按enter键实现登陆
  15. HTML5+JavaScript实现进度条效果
  16. MSCKF(一)——四元数的两种表示
  17. 不忘初心,牢记使命!
  18. 大疆口袋相机美颜怎么设置_大疆(DJI)Pocket2 | 深度测评口袋相机:超多配件随心搭,自带美颜的拍摄助手!-极果...
  19. 虚拟打印机如何把JPG打印成PDF
  20. 短信接入DSMP的业务分类说明(转)

热门文章

  1. super与this关键字的区别
  2. Eureka服务注册中心---SpringCloud
  3. c语言模拟题答案及解析,全国计算机等考二级C语言模拟试题,答案及解析一
  4. 转:json与map互转
  5. 进程间通信(IPC)+进程加锁解锁
  6. 带Quarkus的Qute模板
  7. 做好计划事半功倍论文_Picocli 2.0:事半功倍
  8. java streams_使用JShell的Java 9 Streams API
  9. lambda设计模式_使用lambda的装饰器设计模式
  10. openshift_在OpenShift上托管的WildFly实例上进行Arquillian测试