Page,Request,Session,Application范围的变量是给谁用的?(举例,思路,详解,总结)

page范围的变量是给谁用?


自己做家庭作业,自己解决问题。(自己的事情,自己做)


Request范围的变量是给谁用的?

假设服务器上有两个页面(AB页面):
当客户端请求A页面时,下发给客户端A页面;

情况一:

A页面上的<a>标签手动点击链接跳转到服务器的B页面时,Request变量无法在B页面获得;


思路追踪:

请求问题,A问B,B会解决问题吗,但是,B一看这个请求不是我内部人员的问题,B一概不接A的问题;紧接着,A问C,C会解决问题吗,同B一样,C也不会理A的。


情景再现:

就像高中,你在学校做作业,有一道题不会做。你随便找了一个B学校的老师,该老师一看你不是人家学校的学生,就不想浪费时间给你讲题了,但是为人师表,不好意思拒绝你,就让你把问题留下,等回头给你答案;紧接着,你随便又找了一个C学校的老师,同样B学校老师一样,人家也不想拒绝你,让你把问题留下,回头给你答案。


情况二:

A页面上的<jsp:forward>标签自动跳转到服务器的B页面后,B页面自动将结果返回到A页面,故访问链接地址显示A页面。

思路追踪:

扫描二维码关注公众号,回复: 1024362 查看本文章

请求问题,A问B,B会解决问题吗,如果会,就将结果返回给A;倘若A的问题没有在B页面解决,可能B页面会传递给另外的C页面,C页面能解决问题,就将结果单独返回给A页面。


情景再现:

就像高中时候,你做课后作业,有一道题不会做。先问你班里的数学老师,他不会做;就给了另外一个班的数学老师,然后这个老师会做,就将结果讲给你;这其中,有一个老师会做,必定是单独将结果返回给你。

情况三:

就是前两者的结合,在此不用赘述,你也会明白,并且会用。


总结Request:

当客户端(一问题)与服务器的单个页面询问(请求)期间,变量不存在;
当客户端(一问题)与服务器上,多个页面之间询问(请求)期间,变量存在;
最后,当客户端与服务器请求消失,变量消失。

Session范围的变量是给谁用的?

假设服务器上有两个页面(AB页面):
当客户端请求A页面时,下发给客户端A页面;

情况一:

A页面上的<a>标签手动点击链接跳转到服务器的B页面时,Session变量无法在A页面获得,却在B页面中可以获得;


思路追踪:

请求问题,A问B,B会解决问题吗,但是,B一看这个请求很有价值,然后直接说出了答案,并告诉了其他能解决A问题的页面;紧接着,A问C,C会解决问题吗,同C一样,C也直接说出了答案。


情景再现:

高中,老师授课,睡觉两人,一人前三名,一人后三名。老师看到学习好的人,居然不听课,气就不打一处来,学习超好的B同学,你来回答一下,集合有几种运算,B同学起来,答对,坐下并告诉了好哥们;老师又问,学习超烂的C同学,你来回答一下,集合有几种运算,C同学起立,答对。(B和C之间存在一个简短会话的存在)


情况二,与Request相同
情况三,与request相同

总结session:

当客户端(一问题)与服务器的单个页面会话期间(一答案),变量存在;
当客户端(一问题)与服务器的多个页面会话期间(多个统一答案),变量存在;

最后,当客户端与服务器会话消失,变量消失。


Application范围的变量是给谁用的?

总结application:

服务器重启,变量消失;

猜你喜欢

转载自blog.csdn.net/jake_aaron/article/details/78660824
今日推荐