Tomcat 为同一webapp配置不同的超时值

Tomcat 为同一webapp配置不同的超时值,tomcat,session-timeout,Tomcat,Session Timeout,我有一个(grails)web应用程序,具有两种url模式: /web/** /rest-api/** 第一个用于普通的老web用户访问,应该使用http会话,超时时间为30分钟。 第二个由REST接口使用,不应包含任何会话(超时=0) 可以在同一个webapp中设置tomcat来支持这两种情况吗?或者我应该拆分它(后者并不好笑) TIA可以通过编程方式覆盖会话超时。在java servlet中,它是这样完成的: request.getSession().setMaxInactiveInte

我有一个(grails)web应用程序,具有两种url模式:

/web/**

/rest-api/**
第一个用于普通的老web用户访问,应该使用http会话,超时时间为30分钟。 第二个由REST接口使用,不应包含任何会话(超时=0)

可以在同一个webapp中设置tomcat来支持这两种情况吗?或者我应该拆分它(后者并不好笑)


TIA

可以通过编程方式覆盖会话超时。在java servlet中,它是这样完成的:

request.getSession().setMaxInactiveInterval(30);
因此,您可以对其中一个服务使用默认的web.xml值,并以编程方式对另一个服务进行设置


还要注意,Tomcat不会创建HttpSession,除非某些代码正在访问它(通常通过调用
request.getSession()
)。因此,没有会话的最好方法是根本不访问它。但是,如果您使用的第三方库在背后访问会话,则很难实现这一点。

因此,如果grails的dispatcher没有在httpSession上调用任何方法,则不应创建后面的方法。问题是这是否真的是这样不要介意: