Javaweb学习总结(五):JavaBean的作用域
来源:互联网 发布:剑网三dbm数据库 编辑:程序博客网 时间:2024/05/16 11:55
JavaBean的最用于主要包括:page作用域 ,request作用域 ,session作用域,application作用域,JavaBean获取作用域数据。
page作用域:
page作用域在这4种类型中范围是最小的,客户端每次请求访问时都会创建一个JavaBean对象。JavaBean对象的有效范围是客户请求访问的当前页面文件,当客户执行当前的页面文件完毕后JavaBean对象结束生命。在page范围内,每次访问页面文件时都会生成新的JavaBean对象,原有的JavaBean对象已经结束生命期。
request作用域 :
当scope为request时,JavaBean对象被创建后,它将存在于整个request的生命周期内,request对象是一个内建对象,使用它的getParameter方法可以获取表单中的数据信息。Request范围的JavaBean与request对象有着很大的关系,它的存取范围除了page外,还包括使用动作元素<jsp:include>和<jsp:forward>包含的网页,所有通过这两个操作指令连接在一起的JSP程序都可以共享同一个JavaBean对象。
session作用域:
当scope为session时,JavaBean对象被创建后,它将存在于整个session的生命周期内,session对象是一个内建对象,当用户使用浏览器访问某个网页时,就创建了一个代表该链接的session对象,同一个session中的文件共享这个JavaBean对象。客户对应的session生命期结束时JavaBean对象的生命也结束了。在同一个浏览器内,JavaBean对象就存在于一个session中。当重新打开新的浏览器时,就会开始一个新的session。每个session中拥有各自的JavaBean对象。
application作用域:
当scope为application时,JavaBean对象被创建后,它将存在于整个主机或虚拟主机的生命周期内,application范围是JavaBean的生命周期最长的。同一个主机或虚拟主机中的所有文件共享这个JavaBean对象。如果服务器不重新启动,scope为application的JavaBean对象会一直存放在内存中,随时处理客户的请求,直到服务器关闭,它在内存中占用的资源才会被释放。在此期间,服务器并不会创建新的JavaBean组件,而是创建源对象的一个同步拷贝,任何拷贝对象发生改变都会使源对象随之改变,不过这个改变不会影响其它已经存在的拷贝对象。
JavaBean获取作用域数据 (1):
通过下面的实例说明4个作用域:
首先,创建一个JavaBean:“Scope.java”
package scope;public class Scope {public Scope(){} //无参的构造函数private int number=0; //初始化变量number的值为0public int getNmuber(){ //增加并返回变量number的值number++;return number; }public void setNumber(int newNumber) {this.number = newNumber; //给变量number赋新值}}然后,创建名称为“scope.jsp”的页面文件,用来显示JavaBean存在的范围的具体区别。主要代码:
<body> <jsp:useBean id="pageScope" scope="page" class="scope.Scope" /> <% out.println("使用page获取的数据为:" + pageScope.getNmuber());%> <jsp:useBean id="requestScope" scope="request" class="scope.Scope" /> <%out.println("使用request获取的数据为:" + requestScope.getNmuber());%> <jsp:useBean id="sessionScope" scope="session" class="scope.Scope" /> <% out.println("使用session获取的数据为:" + sessionScope.getNmuber()); %> <jsp:useBean id="applicationScope" scope="application"class="scope.Scope" /> <% out.println(“使用application获取的数据为:” + applicationScope.getNmuber());%> </body>
程序运行结果如图1所示:
关闭该浏览器,重新打开新的浏览器后的结果如图2所示:
- Javaweb学习总结(五):JavaBean的作用域
- Javaweb学习总结(五)
- javaweb学习总结(五)
- JavaWeb学习总结二十、JavaBean总结
- Javaweb学习总结(四):JavaBean组件技术
- Javaweb学习总结(六):使用JavaBean计算圆的周长与面积
- JavaWeb学习(四):JavaBean
- JavaBean的作用域
- javabean的作用域
- javaWeb之JavaBean总结
- javaweb---JavaBean总结
- javaweb学习总结(二十)——JavaBean总结
- javaweb学习总结(二十)——JavaBean总结
- javaweb学习总结(二十)——JavaBean总结
- javaweb学习总结(二十)——JavaBean总结
- javaweb学习总结(二十)——JavaBean总结
- JavaWeb学习总结(二十)——JavaBean总结
- JavaBean的作用域(生命周期)
- android中自定义dialog中有editText,无法显示输入法对话框的解决办法
- 菜鸟学习Cocos2d-x 3.x——浅谈动作Action
- win10 远程桌面时,用户名密码无误,仍然提示凭证不工作问题 的解决办法
- xml文件实现一次性导入功能(泉州)
- 读取property文件内容
- Javaweb学习总结(五):JavaBean的作用域
- Library bin
- instr函数
- Uri.parse()调用
- How to Login Automatically into Website Using Excel VBA
- 显示全部控制台信息
- 三、lua coroutine
- MongoDB使用小结:一些常用操作分享
- 怎么在Eclipse中添加VI插件