嗨,我正在尝试为我的整个春季 MVC 应用程序全局设置会话超时。 之前我们在 Web 中配置了会话超时.xml如下所示
<web-app ...>
<session-config>
<session-timeout>20</session-timeout>
</session-config>
</web-app>
如何在 Spring Java 配置中执行此操作?
您可以实现HttpSessionListener
侦听器:
public class SessionListener implements HttpSessionListener {
@Override
public void sessionCreated(HttpSessionEvent event) {
System.out.println("Session creation.");
event.getSession().setMaxInactiveInterval(1000);
}
@Override
public void sessionDestroyed(HttpSessionEvent event) {
System.out.println("Session termination.");
}
}
该方法setMaxInactiveInterval
输入需要几秒钟。
您也可以从属性文件中加载值
@Override
public void sessionCreated(HttpSessionEvent event) {
try {
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream stream = classLoader.getResourceAsStream("bimspring.properties");
Properties properties = new Properties();
properties.load(stream);
String sessionTimeout = properties.getProperty("sessionTimeout ", "No Value Found");
event.getSession().setMaxInactiveInterval(Integer.parseInt(sessionTimeout));
} catch (IOException e) {
e.printStackTrace();
}
}