page、request、session和application有什么区别?
2015-12-04 15:04
225 查看
1.简单说 page指当前页面。在一个jsp页面里有效
2.request 指从http请求到服务器处理结束,返回响应的整个过程。在这个过程中使用forward方式跳转多个jsp。在这些页面里你都可以使用这个变量。
其实有点像HttpServletRequest,在所相关的网页都可以获取到请求网页的相关信息一样
3.Session 有效范围当前会话,从浏览器打开到浏览器关闭这个过程。 每个用户都有唯一的一个
4.application它的有效范围是整个应用。 作用域里的变量,它们的存活时间是最长的,如果不进行手工删除,它们就一直可以使用
《http://blog.csdn.net/hzc543806053/article/details/7416007》博文中以图解释的这种关系
结合下面的例子可能更好理解
在page1中分别定义四个变量,变量作用域分别为page、request、session和application。。。
page1的代码为
其他网页只是对这四个变量进行输出,代码都一样,为
分别在浏览器中浏览其他网页的获取四个变量情况,结果如下
可以发现只有session变量和application变量在其他网页中可以显示,但是page和request变量不行。
接下来对page1.jsp进行更改,增加一句跳转语句
<jsp:forward page="page2.jsp" />,此时page2.jsp中可以同时显示这四个变量。这与
<jsp:forward page="跳转的目标页面" />本身的性质有关,可以搜索下与jsp跳转相关的内容。为了区别对page2.jsp修改下,这样可以看到输出的不同。
2.request 指从http请求到服务器处理结束,返回响应的整个过程。在这个过程中使用forward方式跳转多个jsp。在这些页面里你都可以使用这个变量。
其实有点像HttpServletRequest,在所相关的网页都可以获取到请求网页的相关信息一样
3.Session 有效范围当前会话,从浏览器打开到浏览器关闭这个过程。 每个用户都有唯一的一个
4.application它的有效范围是整个应用。 作用域里的变量,它们的存活时间是最长的,如果不进行手工删除,它们就一直可以使用
《http://blog.csdn.net/hzc543806053/article/details/7416007》博文中以图解释的这种关系
结合下面的例子可能更好理解
在page1中分别定义四个变量,变量作用域分别为page、request、session和application。。。
page1的代码为
其他网页只是对这四个变量进行输出,代码都一样,为
分别在浏览器中浏览其他网页的获取四个变量情况,结果如下
可以发现只有session变量和application变量在其他网页中可以显示,但是page和request变量不行。
接下来对page1.jsp进行更改,增加一句跳转语句
<jsp:forward page="page2.jsp" />,此时page2.jsp中可以同时显示这四个变量。这与
<jsp:forward page="跳转的目标页面" />本身的性质有关,可以搜索下与jsp跳转相关的内容。为了区别对page2.jsp修改下,这样可以看到输出的不同。
相关文章推荐
- android位图在activity之间传递的问题
- 仿美团下拉刷新效果(大众点评下拉刷新吃包子的效果也可以这么实现)
- 非上架AppStore的ipa分发方法
- instancetype、id、NSObject的区别
- Android的图片缓存 三级缓存
- Cannot send events to objects owned by a different thread
- 用swift 加载html文件
- 【Android】图片剪裁类库,解决com.android.camera.action.CROP在4.4版本以上遇到的intent类型问题
- Objective-C 4 第一个类
- PC上测试移动端网站和模拟手机浏览器
- Intent的使用
- iOS-常用的第三方框架的介绍
- Android : 录音实现之AudioRecord类
- listView的几个重要的属性
- iOS中的触摸事件和手势处理
- app重构之架构
- JSON 递归遍历算法(IOS)
- Android Studio Mac版快捷键
- 方法:怎么用ionic命令行调试你的ionic app
- Android触控-MotionEvent(一)