1
我有2 URL的圖案的(Grails的)web應用:對於相同的web應用程序配置不同的超時值
/web/**
/rest-api/**
的第一一個被用於普通老式網絡用戶訪問和應該使用超時30分鐘的http會話。 第二個被REST接口使用,並且根本不包含任何會話(timeout = 0)。
是否可以設置tomcat,支持同一個webapp中的兩種情況,還是應該分割它(後者並不好笑)?
TIA
我有2 URL的圖案的(Grails的)web應用:對於相同的web應用程序配置不同的超時值
/web/**
/rest-api/**
的第一一個被用於普通老式網絡用戶訪問和應該使用超時30分鐘的http會話。 第二個被REST接口使用,並且根本不包含任何會話(timeout = 0)。
是否可以設置tomcat,支持同一個webapp中的兩種情況,還是應該分割它(後者並不好笑)?
TIA
可以通過編程方式覆蓋會話超時。在一個Java servlet是這樣完成的:
request.getSession().setMaxInactiveInterval(30);
所以,你可以使用你的服務的一個默認的web.xml值,並將其設置爲編程其他。
還要注意,Tomcat不會創建HttpSession,除非某些代碼正在訪問它(通常是通過調用request.getSession()
)。所以沒有會話的最佳方式是根本不訪問它。但是,如果您正在使用一些第三方庫訪問背後的會話,這可能很難實現。
因此,如果grails的調度程序不在httpSession上調用任何方法,則不應創建後者。問題是如果真的如此? :) – injecteer
沒關係:http://stackoverflow.com/questions/7348731/grails-session-creation-on-how-to-prevent-it – injecteer