JSP中JavaBean是通过标签来声明实现的,基本语法如下:

class="className"

scope="page/request/session/application>

JavaBean的生命通过scope属性来描述的,也就是JavaBean的实例id在JSP程序中存在的范围。下面看看具体的scope四个值的含义:

page-JavaBean对象保存在pageContext对象中,有page范围JavaBean实例只能在当前创建这个JavaBean的JSP文件中进行操作,

这个实例只有在请求返回给客户端后或者转移到另外的JSP页面后才会释放掉。page范围的JavaBean常用于进行一次性操作的JavaBean,这样的Bean用的最多,比如大部分表单提交,Bean的一些计算处理等都可以使用page范围的JavaBean。

request-JavaBean对象保存在request对象中,有request范围的JavaBean实例可以在处理请求所有JSP页面中都存在,这个对象只有在请求全部处理完毕后才会被释放掉,request范围的JavaBean常用于共享同一次请求的JSP页面中,比如判断用户登录功能,如果用户名密码合法就可以forward到一个合法页面中,否则就forward到一个出错页面,当然转移后的页面仍然能够得到用户的输入。

session-JavaBean对象是保存在session范围的JavaBean实例的生存周期是整个session,只有当session过期后才能释放掉,这样常用于共享同一session的JSP页面,比如购物车一般就是放在session中的或者登陆后的用户信息等也可以在session中,注意

application-JavaBean对象保存在application对象中,有application范围的JavaBean对象的生存周期是整个application。这就意味着这样的JavaBean的生存周期是整个应用程序,当web

Server停掉才会消失掉。这样的常用于共享同一application的JSP程序中,比如程序中一些经常用到配置东西如数据库连接URL,全局的计数器或者是聊天室中人员信息等。

java中对象的生存期_JSP中JavaBean的生命周期相关推荐

  1. java中对象的生存期_Java中对象的生存周期

    文章目录 JAVA对象的生存周期 1.创建阶段(Created) 为对象分配内存需要考虑的问题 2.应用阶段(In Use) 3.不可见阶段(Invisible) 4.不可达阶段(Unreachabl ...

  2. java 关闭守护线程_Java并发编程之线程生命周期、守护线程、优先级、关闭和join、sleep、yield、interrupt...

    Java并发编程中,其中一个难点是对线程生命周期的理解,和多种线程控制方法.线程沟通方法的灵活运用.这些方法和概念之间彼此联系紧密,共同构成了Java并发编程基石之一. Java线程的生命周期 Jav ...

  3. (原创)c#学习笔记08--面向对象编程简介01--面向对象编程的含义03--对象的生命周期--构造函数和析构函数...

    8.1.3  对象的生命周期 每个对象都有一个明确定义的生命周期,除了"正在使用"的正常状态之外,还有两个重要的阶段: 构造阶段: 对象最初进行实例化的时期.这个初始化过程称为构造 ...

  4. java中对象的生存期_深入理解Java虚拟机-判断对象是否存活算法与对象引用

    我们知道Java中的对象一般存放在堆中,但是总不能让这些对象一直占着内存空间,这些对象最终都会被回收并释放内存,那么我们如何判断对象已经成为垃圾呢?这篇文章会提出两种算法解决这个问题.另外,本文还要谈 ...

  5. java修改list中对象的值_Java中List集合的一点总结

    为什么要用接口引用指向实现类的对象? 这种写法其实java多态的表现形式 多态的定义: 指允许不同类的对象对同一消息做出响应. 即同一消息可以根据发送对象的不同而采用多种不同的行为方式. (发送消息就 ...

  6. java存储对象的数组_Java中数组可以存储对象吗?

    数组是一个容器,可以存放固定数量的项目,这些项目应该是相同的类型.大多数数据结构使用数组来实现它们的算法.以下是理解数组概念的重要术语.元素:存储在数组中的每个项目都称为元素. 索引:数组中元素的每个 ...

  7. javascript中对象_了解JavaScript中的承诺

    javascript中对象 我向您承诺,到本文结束时,您将更好地了解JavaScript. 我与JavaScript有一种"爱与恨"的关系. 但是尽管如此,JavaScript一直 ...

  8. javascript 无法修改 数组中对象_谈谈JavaScript中对象建立(Object)

    在这篇文章中我将会着重说明如何创建JavaScript里的对象(Object). 对象(Object)是什么? 在开始介绍如何创建对象前,我们要知道对象是什么.对象(Object)简单地来说,就是一堆 ...

  9. python中对象的定义_python中对象的定义和使用

    python中对象的定义和使用 发布时间:2020-06-22 11:57:16 来源:亿速云 阅读:98 作者:Leah 今天就跟大家聊聊有关python中对象的定义和使用,可能很多人都不太了解,为 ...

最新文章

  1. RGB-D对红外热像仪和毫米波雷达标定
  2. AI求解薛定谔方程,兼具准确度和计算效率,登上《自然-化学》
  3. JavaScript之表单元素操作
  4. python sort 部分元素_Python 犄角旮旯--List
  5. Tensorflow2.6更新cuda11.2
  6. 3.定义一个有10个元素的数组,用其代表10个学生的考试成绩,从键盘输入10个成绩,统计平均成绩。
  7. webstorm设置文件类型
  8. Scala与Java差异(二)之条件控制与循环
  9. 谷歌排名第一的编程语言,收下这份资料,小白也能学的会!
  10. Linux笔记-nohup和
  11. 【词云】wordcloud安装与使用
  12. 重复类发展手法_正确的护肤手法(动态演示),喜欢就拿去收藏吧!
  13. 第14题 计算机网络故障排除的第二步是,计算机网络故障诊断与排除第1章网络故障和网络诊断测试工具(习题)(ok)...
  14. Keep in mind用法
  15. 经典算法分析:n与lgn
  16. 企业如何选择短信平台
  17. zblog php 模板修改,ZBlog博客程序zblogPHP主题模板定制仿制修改
  18. 呼叫中心-自动外呼接口设置
  19. excel 棒球数据游戏_使用librosa的棒球应用的音频发作检测数据准备
  20. android现状及发展趋势,2021年Android手机现状分析

热门文章

  1. wxWidgets:wxShowEvent类用法
  2. wxWidgets:多线程概述
  3. boost::set_difference相关的测试程序
  4. boost::histogram::accumulators::mean用法的测试程序
  5. boost::hana::is_embedded用法的测试程序
  6. boost::fusion::any用法的测试程序
  7. boost::endian::endian_arithmetic的测试程序
  8. boost::allocator_max_size的实例
  9. DCMTK:DcmAttributeMatching的单元测试
  10. VTK:图片之RTAnalyticSource