jsp——四大作用域详解
学习内容:
jsp四大作用域
四个域对象
pageContext – page域
request – request域
session – session域
application – context域
1)域对象作用:**保存数据和获取数据,用于数据共享。**
2)域对象方法:
setAttribute(“name”,Object) 保存数据
getAttribute(“name”) 获取数据
removeAttribute(“name”) 清除数据
3)域对象作用范围:
page域: 只能在当前jsp页面中使用(当前页面)
request域: 只能在同一个请求中使用(转发)
session域: 只能在同一个会话(session对象)中使用(私有的)
context域: 只能在同一个web应用中使用。(全局的)
1、如果把变量放到pageContext里,就说明它的作用域是page,它的有效范围只在当前jsp页面里。 从把变量放到pageContext开始,到jsp页面结束,你都可以使用这个变量。
2、如果把变量放到request里,就说明它的作用域是request,它的有效范围是当前请求周期。所谓请求周期,就是指从http请求发起,到服务器处理结束,返回响应的整个过程。就算在这个过程中,使用request对象的getRequestDispatcher(“path”).forward(request, response)的请求转发方式跳转了多个jsp页面,在这些页面里你都可以使用这个变量,但如果使用了response对象的sendRedirect(“path”)重定向方式,那这个request域就会失去效果。因为response的sendRedirect(“path”)重定向方式,跟request对象的getRequestDispatcher(“path”).forward(request, response)的请求转发方式是有区别的,因为重定向涉及到浏览器的两次请求和两次响应,故第二次的request会将第一次的request域刷新。
3、如果把变量放到session里,就说明它的作用域是session,有效范围是当前会话。所谓当前会话,是指从用户打开浏览器开始,到用户关闭浏览器这中间的过程。这个过程可能包含多个请求响应。也就是说,只要用户不关浏览器,服务器就有办法知道这些请求是一个人发起的,整个过程被称为一个会话(session),而放到会话中的变量。
session是在服务器端建立的,浏览器访问服务器会有一个jsessionid,浏览器端通过 jsessionid定位服务器端的session,session的创建和销毁由服务器端控制。当浏览器关闭后,session还存在在服务器端,只不过你新开的浏览器去访问服务器会创建另一个session,这个时候的jsessionid已经不一样了。也就不能访问上一次的哪个session里面的内容了。
那服务器端session如何创建的呢? 普通htm不会创建,jsp默认是创建的,只要你访问一个任何一个jsp就会创建(不过只创建一次),你关闭浏览器从新访问又会创建一个,这些创建的 session由服务器自己控制销毁(tomcat默认为30分钟,web.xml中配置),你也可以在服务器端代码中手动调用session.invalidate()销毁它。
注意:如果JSP没有显示的使用 <%@page session=“false”%> 关闭session,则JSP文件在编译成Servlet时将会自动加上这样一条语句HttpSession session = HttpServletRequest.getSession(true),这也是JSP中隐含的session对象的来历。
4、如果把变量放到application里,就说明它的作用域是application,它的有效范围是整个应用。整个应用是指从应用启动,到应用结束。我们没有说“从服务器启动,到服务器关闭”是因为一个服务器可能部署多个应用,当然你关闭了服务器,就会把上面所有的应用都关闭了。application作用域里的变量,它们的存活时间是最长的,如果不进行手工删除,它们就一直可以使用。与上述三个不同的是,application里的变量可以被所有用户共用。如果用户甲的操作修改了application中的变量,用户乙访问时得到的是修改后的值。
EL表达式获取指定域中变量值: 例如${pageScope.name.value}
域范围: pageScoep / requestScope / sessionScope / applicationScope
学习时间:
提示:这里可以添加计划学习的时间
例如:
1、 周一至周五晚上 7 点—晚上9点
2、 周六上午 9 点-上午 11 点
3、 周日下午 3 点-下午 6 点
学习产出:
提示:这里统计学习计划的总量
例如:
1、 技术笔记 2 遍
2、CSDN 技术博客 3 篇
3、 学习的 vlog 视频 1 个
jsp——四大作用域详解相关推荐
- JSP四大作用域详解
首先要声明一点,所谓"作用域"就是"信息共享的范围",也就是说一个信息能够在多大的范围内有效.4个JSP内置对象的作用域分别为:application.sess ...
- JSP中四大作用域详解
在学习时读到一篇好文章,分享给大家~~ 转自https://www.cnblogs.com/WindSun/p/10209534.html 四大作用域 为了在页面.请求.和用户之间传递和共享数据,JS ...
- java 4大作用域_JavaWeb的四大作用域详解
1.page指当前页面有效.在一个jsp页面里有效 2.request 指在一次请求的全过程中有效,即从http请求到服务器处理结束,返回响应的整个过程,存放在HttpServletRequest对象 ...
- Javaweb四大作用域详解
[1]ServletContext 域--- application ServletContext代表整个web应用的对象. 生命周期:web应用被tomcat服务器加载时,ServletContex ...
- 面试之JSP九大内置对象和JSP四大作用域
jsp 九大内置对象和其作用详解 JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config. ...
- Android笔记——四大组件详解与总结
android四大组件分别为activity.service.content provider.broadcast receiver. -------------------------------- ...
- Android基础四大组件详解
Android四大组件详解 博主接触Android开发将近一年,从最初的JavaSE开始,到Android基础,一直学的糊糊涂涂,最近想整理一番 android基础, 顺便把自己的学习开发经验分享给大 ...
- jsp四大作用域和九大内置对象
jsp是运行在服务端的程序 JSP有九个内置对象(又叫隐含对象),不需要预先声明就可以在脚本代码和表达式中随意使用 JSP九大内置对象分为四类: 输入输出对象:out对象.response对象.req ...
- jsp四大作用域和九大对象
jsp四大作用域和九大对象 详情查看我的脑图 四个作用域:request域.session域.application域.page域 1. request request是表示一个请求,只要发出一个请求 ...
- JSP四大作用域属性范围
JSP四大作用域分别为: page,request , session,application . JSP的四个作用域(从小到大) pageContext:页面作用域 request:请求作用域 Se ...
最新文章
- C++中的Socket编程使用协议发送图片
- 工程项目如何实现采购效益最大化?
- java判断回文字符串几种简单的实现
- 016_SpringBoot整合MyBatis
- DevExpress WPF MVVM入门例子
- maven发碰到的问题
- python操作redis集群_python操作redis集群
- 性能测试--【MySQL】Sysbench 性能压测
- 做实体行业现在难吗?
- %3c %3e 转换html,防止基本的XSS攻击 滤掉HTML标签
- 在某龙芯平台上编译FFMPEG报错:ERROR: xxx not found using pkg-config
- 关于 Sensor flicker/banding现象的解释
- 无心剑中译伊丽莎白·毕肖普《一门技艺》
- SNTP获取时间源统一时间
- 11、每日最新新闻接口,免费好用
- 硕士学位论文格式调整技巧
- java 导出excel打开报错_java导出excel文件报“失败-网络错误”
- 天涯明月刀7月5号服务器维护,7月5日服务器临时维护更新公告(已完成)
- 蓝牙-基础篇-蓝牙简介
- 阻抗匹配(二):示波器