如果不进行某种扩展并依赖于Tomcat自己的类,
<session-timeout>一旦设置了默认值,我将不知道如何以编程方式更改默认值。
一种替代方法是单独存储可变的会话超时值(可能在数据库中)-您的服务可能负责更新/检索。然后,您可以
HttpSessionListener根据此值使用a
来修改新创建的会话的超时。
例如:
public class SessionTimeoutModifier implements HttpSessionListener { public void sessionCreated(HttpSessionEvent event) { int timeout = sessionService.getSessionTimeout(); // Gets your value event.getSession().setMaxInactiveInterval(timeout); // Override default } ...然后可以开发一个Web前端(servlet),它可以通过更改您的会话超时
sessionService.setSessionTimeout(value)。
不是您要寻找的确切答案,而是实现它的一种可能方法。



