我有一个带有2个网址模式的(grails)网络应用程序:
/web/**
/rest-api/**
第一个用于普通的Web用户访问,应使用超过30分钟的http会话。 第二个由REST接口使用,并且根本不包含任何会话(超时= 0)。
是否可以设置tomcat,在同一个webapp中支持这两种情况,或者我应该拆分它(后者不好笑)?
TIA
答案 0 :(得分:0)
可以通过编程方式覆盖会话超时。在java servlet中,它是这样完成的:
request.getSession().setMaxInactiveInterval(30);
因此,您可以使用其中一个服务的默认web.xml值,并以编程方式为另一个服务设置。
另请注意,除非某些代码正在访问它(通常通过调用request.getSession()
),否则Tomcat不会创建HttpSession。因此,没有会话的最佳方式是根本不访问它。但是,如果您正在使用某些第三方库来访问您背后的会话,则很难实现。