首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何为Grails应用程序配置会话超时?

如何为Grails应用程序配置会话超时?
EN

Stack Overflow用户
提问于 2010-05-26 02:45:48
回答 4查看 38.9K关注 0票数 60

在我的Grails应用程序的一个控制器中,我在会话变量中保留了一个参数值,如下所示:

代码语言:javascript
复制
session.myVariable = params.myValue

在此之后,只要我积极使用应用程序,我就可以从不同的控制器/GSP页面访问保存的值。但是,如果我有一段时间不使用我的应用程序,即使我的浏览器窗口仍然打开,会话变量也会丢失它的值。

会因为会话过期而发生这种情况吗?我的印象是会话会一直持续到浏览器窗口仍然打开,但显然我错了。

我应该怎么做才能确保我在Grails应用程序中定义的所有会话变量在浏览器关闭之前不会过期?有没有办法手动设置会话超时?

提前感谢您的回答!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-05-26 04:12:48

另一种选择是修改web.xml。在此之前,您必须调用

代码语言:javascript
复制
grails install-templates

然后编辑src/template/war/web.xml并在servlet映射后添加/修改:

代码语言:javascript
复制
<session-config>
   <session-timeout>60</session-timeout>
</session-config>

session-timeout的值以分钟为单位。

票数 85
EN

Stack Overflow用户

发布于 2010-05-26 02:49:24

我可能错了,但我非常确定Grails使用与您的应用程序容器相关联的会话。例如,如果您正在使用Tomcat,则可以指定会话的长度。

Tutorial for changing Tomcat session length.

票数 1
EN

Stack Overflow用户

发布于 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2907516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档