在我的Grails应用程序的一个控制器中,我在会话变量中保留了一个参数值,如下所示:
session.myVariable = params.myValue
在此之后,只要我积极使用应用程序,我就可以从不同的控制器/GSP页面访问保存的值。但是,如果我有一段时间不使用我的应用程序,即使我的浏览器窗口仍然打开,会话变量也会丢失它的值。
会因为会话过期而发生这种情况吗?我的印象是会话会一直持续到浏览器窗口仍然打开,但显然我错了。
我应该怎么做才能确保我在Grails应用程序中定义的所有会话变量在浏览器关闭之前不会过期?有没有办法手动设置会话超时?
提前感谢您的回答!
发布于 2010-05-26 04:12:48
另一种选择是修改web.xml。在此之前,您必须调用
grails install-templates
然后编辑src/template/war/web.xml并在servlet映射后添加/修改:
<session-config>
<session-timeout>60</session-timeout>
</session-config>
session-timeout的值以分钟为单位。
发布于 2010-05-26 02:49:24
我可能错了,但我非常确定Grails使用与您的应用程序容器相关联的会话。例如,如果您正在使用Tomcat,则可以指定会话的长度。
发布于 2014-07-13 14:49:08
这是一个更好的解决方案。转到grails主目录并查找Example: E:\grails-2.3.8\src\war\WEB-INF\web3.0.template.xml将会话超时值编辑为所需的值:
示例:enter code here
90
https://stackoverflow.com/questions/2907516
复制相似问题