1

我有一个带有 2 个 url 模式的(grails)网络应用程序:

/web/**

/rest-api/**

第一个用于普通网络用户访问,应该使用超时 30 分钟的 http-session。第二个由 REST 接口使用,并且根本不包含会话(超时 = 0)。

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

TIA

4

1 回答 1

0

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

request.getSession().setMaxInactiveInterval(30);

因此,您可以为其中一项服务使用默认 web.xml 值,并以编程方式为另一项服务设置它。

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

于 2012-10-28T16:12:23.750 回答