Session 使用服务更改会话时间
我想创建一个以分钟为单位的服务/servlet,并更改会话超时值,这意味着我想更改Session 使用服务更改会话时间,session,tomcat,Session,Tomcat,我想创建一个以分钟为单位的服务/servlet,并更改会话超时值,这意味着我想更改 <session-config> <session-timeout>1</session-timeout> </session-config> 仅更改当前seision,而不是所有会话。如果不以某种方式扩展并依赖Tomcat自己的类,我不知道一旦设置了默认的,如何以编程方式更改 另一种方法可能是单独存储可变会话超时值(可能在数据库中),您的服务可能负责更新/
<session-config>
<session-timeout>1</session-timeout>
</session-config>
仅更改当前seision,而不是所有会话。如果不以某种方式扩展并依赖Tomcat自己的类,我不知道一旦设置了默认的
,如何以编程方式更改
另一种方法可能是单独存储可变会话超时值(可能在数据库中),您的服务可能负责更新/检索该值。然后,您可以使用HttpSessionListener根据此值修改新创建会话的超时
例如:
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)
改变会话超时
不是你想要的确切答案,而是一种可能的实现方法
public class SessionTimeoutModifier implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent event) {
int timeout = sessionService.getSessionTimeout(); // Gets your value
event.getSession().setMaxInactiveInterval(timeout); // Override default
}
...