您正在尝试为我的整个spring mvc应用程序全局设置会话超时。之前我们在web.xml中配置了会话超时,如下所示
<web-app ...>
<session-config>
<session-timeout>20</session-timeout>
</session-config>
</web-app>
我如何在spring java配置中执行此操作?
答案 0 :(得分:1)
您可以实现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
需要几秒钟的输入。
答案 1 :(得分:0)
您也可以从属性文件中加载值
@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();
}
}