Java Web 回顾总结(六) - jsp - 四大属性范围(补充)

原创 2018年04月16日 20:28:29

内置对象的本质 是 jsp 页面操作 的所有对象集合
而 通过内置对象的方法 指定 四大属性对象 来与 其他 jsp 页面交互 ,与 servlet 交互

其交互的内容进行分类后 就是对应的 不同属性

而这些对象都有 自身的 作用范围 ,在范围外 ,将 发生改变,或 不再适用


属性范围

与上一节 提到的 相同 

  JSP中提供了四种属性范围,四种属性范围分别指以下四种:

属性 生命周期 简介
page(本质为 pageContext 属性) 在当前页面中有效 一个属性只能在一个页面中取得,跳转到其他页面无法取得
request 请求转发 一个页面中设置的属性,只要经过了服务器跳转,则 跳转之后的页面 可以继续取得。
session 默认半小时 ,而且只针对一个浏览器(或服务器上的唯一的session) 一个浏览器设置的内容,只要是与此浏览器相关的页面都可以访问
application 服务器关闭的时候 在整个服务器上设置的属性,任何都可以访问

注:

虽习惯将页面范围的属性称为page范围,但是实际上操作的时候是使用pageContext内置对象完成的。


属性的操作方法

  与上一章的相同,除去 查找操作 ,总共三个操作 ,

 public void setAttribute(java.lang.String name,java.lang.Object value)
 public java.lang.Object getAttribute(java.lang.String name)
 public void removeAttribute(java.lang.String name)

  属性的操作本质上 只有 添加、获得和删除 这个几个操作。

附:

Object valuevalueObject类型,由于值为Object类型,这表示可以设置任意类型的数据作为值,因为所有的类都是从Object类型继承而来。因此设置属性值的时候可以是任意类型的数据。


简介

pageContext属性范围(不考虑特殊性)

pageContext对象在本页面setAttribute属性后,在本页面可以通过getAttribute方法取得
属性值
如果转发到另一个页面后,将不能取得属性值

request属性范围

request对象在本页面setAttribute属性后,在本页面通过getAttribute方法可取得属性值
转发(例如<jsp-forward/>)至另一个页面也可以取得属性值
但是当向另一个页面发送超链接时,不能通过getAttribute方法取得属性值

sessoin属性范围

session对象在本页面setAttribute属性后,通过getAttribute方法在本页面可取得属性
转发之后,发送 超链接 之后都可以得属性。
但当重新打开浏览器之后,再通过getAttribute方法,将不能取得属性值

application属性范围

applicate对象在本页面setAttribute属性后,通过getAttribute方法在本页面
转发之后,超链接,打开另外一浏览器之后都可以取得属性。


四种属性范围的使用场合

1.page(pageContext):除自定义标签外,用的很少
2.request:如果客户向服务器发请求,产生的数据

用户看完就没用了,像这样的数据就存在request
像 新闻数据 ,属于用户看完就没用的。

3.session:如果客户向服务器发请求,产生的数据

用户用完了等一会儿还有用,像这样的数据就存在session域中,
像购物浏览的商品数据,用户需要看到自己浏览过哪些商品信息,并且等一会儿,还要用这个商品数据结帐。

 
4.application(servletContext):如果客户向服务器发请求,产生的数据

用户用完了,还要给其它用户用,像这样的数据就存在application(servletContext)域中
像聊天数据,购物车等。

使用的原则:

因为四种属性范围的保存时间不同,所以占用内存的时间也就不同了,能使用request就不要使用session,一般情况下,requestsession两个属性范围使用的频率是最高的。

版权声明:本文为博主原创文章,转载时请注明出处,附上链接,谢谢。 https://blog.csdn.net/lendq/article/details/79965958

C/C++学习指南 (补充篇)

此为《C/C++学习指南》系列教程之补充篇,属于参考教程,在需要某项技术的时候再过来参考。 顺序:《语法篇》 -> 《Qt篇》-> 《应用篇》 收录一些未能在语法篇中介绍的语法和技术:单步调试技术,动态库与静态库,位运算, 排序与查找算法,函数指针与回调机制,以及一些杂项技术。
  • 2017年06月30日 15:38

JavaWeb中四大域对象的作用范围

JavaWeb中四大域对象的作用范围
  • github_36301064
  • github_36301064
  • 2016-11-22 18:32:27
  • 8406

深入分析JavaWeb Item16 -- jsp 四大域(属性)范围

jsp里面有四大域,作用域从小到大分别是page域,request域,session域,application(servletContext)域,域也可以称为属性范围。所谓的属性范围就是一个属性设置之...
  • i10630226
  • i10630226
  • 2015-12-10 21:06:30
  • 1546

jsp 四大属性范围

四种属性:pageContext、request、session、application 四种属性都有的三种方法: public  void  setAttribute(String na...
  • jqyhbm
  • jqyhbm
  • 2017-09-19 19:58:37
  • 221

JSP定义和四大范围

文章属于入门级水平,重要事情说三篇,入门级,入门级,入门级 1.JSP是进入java j2EE的一种基础 2.JSP=html+服务器语言 3.JSP中Html代码会直接发给客户端,java代码先...
  • fei641327936
  • fei641327936
  • 2016-07-21 23:33:52
  • 756

jsp的四种通信作用范围

page否是代表与一个页面相关的对象和属性。一个页面由一个编译好的 Java servlet 类(可以带有任何的 include 指令,但是没有 include 动作)表示。这既包括 servlet ...
  • dnvdnv
  • dnvdnv
  • 2007-10-18 12:52:00
  • 442

Javaweb(jsp/servlet),Java的四大作用域

Javaweb(jsp/servlet)的四大作用域 page:属于页面层次,当前页面有效,仅限jsp文件; request:属于请求层次,在一次请求中都有效, session:属于会话层次...
  • qq_32442073
  • qq_32442073
  • 2017-08-22 10:15:50
  • 200

JSP九大内置对象和四种属性范围解读

本文首先主要讲解了JSP中四种属性范围的概念、用法与实例。然后在这个基础之上又引入了九大内置对象,并对这几大内置对象一个一个的进行分析的解读。内容很详细,例子都附有代码和运行的结果截图。...
  • Evankaka
  • Evankaka
  • 2015-07-14 18:27:52
  • 10251

jsp中四个作用域的区别

jsp中四个作用域的区别   JSP内置对象作用域表   名称   作用域   application   在所有应用程序中有效 ...
  • qhwc2009
  • qhwc2009
  • 2015-04-17 15:30:19
  • 3284

Jsp的四大作用域与九大对象

内置对象特点: 1. 由JSP规范提供,不用编写者实例化。 2. 通过Web容器实现和管理 3. 所有JSP页面均可使用 4. 只有在脚本元素的表达式或代码段中才可使用(使用内置对象%>或使用...
  • majun_guang
  • majun_guang
  • 2015-03-19 19:04:19
  • 20542
收藏助手
不良信息举报
您举报文章:Java Web 回顾总结(六) - jsp - 四大属性范围(补充)
举报原因:
原因补充:

(最多只允许输入30个字)