Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 会话变量在其会话超时之前被销毁 60_Java_Jsp_Session_Servlets - Fatal编程技术网

Java 会话变量在其会话超时之前被销毁 60

Java 会话变量在其会话超时之前被销毁 60,java,jsp,session,servlets,Java,Jsp,Session,Servlets,当web应用程序空闲整整60分钟时,上面的web.xml配置代码应该会杀死会话变量 但在我的项目中,会话变量在60分钟前被销毁。例如,我将一个会话变量存储在一个jsp中,并在其他jsps中访问它,但问题是,有时存储的会话变量在指定的超时值之前被销毁,并显示该会话变量的null值 如何解决此问题?将其保存到数据库中。一个小时是相当长的时间来维持一个会议。想象一下,如果有很多用户,服务器将很快耗尽内存。@BorisPavlović如果我在jsp中使用应用程序或页面上下文对象,它会解决这个问题吗?不幸

当web应用程序空闲整整60分钟时,上面的web.xml配置代码应该会杀死会话变量

但在我的项目中,会话变量在60分钟前被销毁。例如,我将一个会话变量存储在一个
jsp
中,并在其他
jsp
s中访问它,但问题是,有时存储的会话变量在指定的超时值之前被销毁,并显示该会话变量的
null


如何解决此问题?

将其保存到数据库中。一个小时是相当长的时间来维持一个会议。想象一下,如果有很多用户,服务器将很快耗尽内存。@BorisPavlović如果我在jsp中使用应用程序或页面上下文对象,它会解决这个问题吗?不幸的是,不会,它会保存在内存中,没有保存在磁盘上。@BorisPavlović我告诉你我项目的场景,请建议我哪种方法是正确的,我们有不同类型的用户角色,根据用户角色,菜单级别应该有所不同,所以我所做的是在DB中创建用户角色字段,然后在一个jsp中获取并存储该字段,并在会话中存储该用户角色。在其他jsp中,我处理该会话变量,并基于该变量显示菜单。由于此会话被破坏,User_role变量变为NULL。如果不阅读代码和web容器配置,很难猜测发生了什么。
 <session-timeout>60</session-timeout>