学习内容:

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——四大作用域详解相关推荐

  1. JSP四大作用域详解

    首先要声明一点,所谓"作用域"就是"信息共享的范围",也就是说一个信息能够在多大的范围内有效.4个JSP内置对象的作用域分别为:application.sess ...

  2. JSP中四大作用域详解

    在学习时读到一篇好文章,分享给大家~~ 转自https://www.cnblogs.com/WindSun/p/10209534.html 四大作用域 为了在页面.请求.和用户之间传递和共享数据,JS ...

  3. java 4大作用域_JavaWeb的四大作用域详解

    1.page指当前页面有效.在一个jsp页面里有效 2.request 指在一次请求的全过程中有效,即从http请求到服务器处理结束,返回响应的整个过程,存放在HttpServletRequest对象 ...

  4. Javaweb四大作用域详解

    [1]ServletContext 域--- application ServletContext代表整个web应用的对象. 生命周期:web应用被tomcat服务器加载时,ServletContex ...

  5. 面试之JSP九大内置对象和JSP四大作用域

    jsp 九大内置对象和其作用详解 JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config. ...

  6. Android笔记——四大组件详解与总结

    android四大组件分别为activity.service.content provider.broadcast receiver. -------------------------------- ...

  7. Android基础四大组件详解

    Android四大组件详解 博主接触Android开发将近一年,从最初的JavaSE开始,到Android基础,一直学的糊糊涂涂,最近想整理一番 android基础, 顺便把自己的学习开发经验分享给大 ...

  8. jsp四大作用域和九大内置对象

    jsp是运行在服务端的程序 JSP有九个内置对象(又叫隐含对象),不需要预先声明就可以在脚本代码和表达式中随意使用 JSP九大内置对象分为四类: 输入输出对象:out对象.response对象.req ...

  9. jsp四大作用域和九大对象

    jsp四大作用域和九大对象 详情查看我的脑图 四个作用域:request域.session域.application域.page域 1. request request是表示一个请求,只要发出一个请求 ...

  10. JSP四大作用域属性范围

    JSP四大作用域分别为: page,request , session,application . JSP的四个作用域(从小到大) pageContext:页面作用域 request:请求作用域 Se ...

最新文章

  1. C++中的Socket编程使用协议发送图片
  2. 工程项目如何实现采购效益最大化?
  3. java判断回文字符串几种简单的实现
  4. 016_SpringBoot整合MyBatis
  5. DevExpress WPF MVVM入门例子
  6. maven发碰到的问题
  7. python操作redis集群_python操作redis集群
  8. 性能测试--【MySQL】Sysbench 性能压测
  9. 做实体行业现在难吗?
  10. %3c %3e 转换html,防止基本的XSS攻击 滤掉HTML标签
  11. 在某龙芯平台上编译FFMPEG报错:ERROR: xxx not found using pkg-config
  12. 关于 Sensor flicker/banding现象的解释
  13. 无心剑中译伊丽莎白·毕肖普《一门技艺》
  14. SNTP获取时间源统一时间
  15. 11、每日最新新闻接口,免费好用
  16. 硕士学位论文格式调整技巧
  17. java 导出excel打开报错_java导出excel文件报“失败-网络错误”
  18. 天涯明月刀7月5号服务器维护,7月5日服务器临时维护更新公告(已完成)
  19. 蓝牙-基础篇-蓝牙简介
  20. 阻抗匹配(二):示波器

热门文章

  1. Go语言开发第1课-环境搭建及简单程序入门
  2. 游戏本地化翻译有哪些内容需要注意
  3. redhat8.2-docker安装及部分镜像下载
  4. 电脑chm文件打不开解决方法
  5. netbeans java中文_netbeans中文乱码解决方案
  6. Matlab基于主分量的人脸重建显示
  7. 打开dbf时自动打开fxp_打开游戏时提示缺少必要组件打不开怎么办?
  8. 一个空间多个php网站,一个空间多个域名多个网站的办法汇总
  9. vue 数据看板大屏适配方案
  10. 玛雅日历和2012年12月,whats的新政