use*_*463 3 java grails httpsession
在我在tomcat 7上运行的grails应用程序中,某处我无效现有的http session(session.invalidate())并创建一个新的session(request.getSession(true)).
但我的这个新会议并没有在grails应用程序中随处反映出来.因此我得到' Session already invalidated'.
我不想request.getSession()到处做.我只是在使用'session'.
Grails 1.3.7中有什么内容,所以这个新会话会反映在应用程序的每个位置.
如果您需要更多信息,请告诉我.
问候
好吧,Grails保存对会话对象的引用,每次你要求它进行会话时它返回相同的引用..所以如果你使会话无效然后请求会话它将返回相同的无效会话,并导致'session已经失效的'例外..
这对你有用..
执行session.invalidate之后执行以下行
//Trick - so that grails doesn't use old invalidated session but rather create new.
GrailsWebRequest.lookup(request).session = null
Run Code Online (Sandbox Code Playgroud)
之后,您可以像平常一样使用会话..您不需要自己创建新会话
请参阅此线程以获取内部信息
| 归档时间: |
|
| 查看次数: |
2583 次 |
| 最近记录: |