【发布时间】:2014-04-11 15:05:07
【问题描述】:
我有一个简单的 Jsp 页面,它访问 servlet,在 servlet 中我调用另一个类的方法,在这个方法中我全局声明一个静态变量并为其设置一个值,然后 servlet 的任务就结束了,所以控制权返回到 jsp 页面(或返回到我将请求和响应转发到的页面)。
所以刚刚发生的事情被称为会话???
为该静态变量设置的值对于接下来的所有会话保持不变!!为什么会这样。 dint 较早的会话结束?如果它已经结束,那么为什么我设置的静态变量的值仍然只在我后续的会话中保持不变?如果我错了,请纠正我。帮我学习! stackoverflow 从来没有让我失望过!!!!提前致谢
【问题讨论】:
-
所以你不知道静态变量是什么?也许您现在还不应该使用 JSP。去阅读解释这些事情的基本教程,否则你将无法理解任何东西。
-
嘿卡亚曼!!我知道 wat 是一个静态变量,我的意思是我知道它是一个变量,它是其类的所有对象的单个副本。哦,等一下,我知道你想说什么!!一旦会话结束,我创建的对象或我设置为静态变量的值不会被销毁!????
-
你是对的。试着自己回答你的问题。大多数时候你都会得到它:)
-
只有会话变量在会话结束时死亡。静态变量存在于类中,而不是会话中。
-
哦!我从来不知道这个!我相信一旦会话结束,对象就会被破坏!!你能帮我知道解决这个问题吗?我应该在使用它后将我的变量重置为之前的值吗?为下一次会议做好准备?这是我唯一的办法吗??