您的位置:首页 > Web前端 > JavaScript

jsp:bean标签中scope属性的四种属性值理解

2012-12-06 18:18 459 查看
如下程序:

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<jsp:useBean id="myDate" scope="page" class="java.util.Date">

这是一个标签体

</jsp:useBean>

这四个属性依次是:page,request,session,application(默认属性值是page)

这四个属性值所不同的就是usebean的生命周期。其中个人感觉而言page和request区别不大,下面来简要谈谈page、application、session的区别。

1、page的生命周期是创建对象开始,到本页执行结束。当下次在执行本页时(比如刷新操作)又重新创建,执行结束后有,这个对象所占的资源被释放。

2、session的生命周期是创建对象开始,到本次会话结束。什么是会话?可以说就是从第一次运行这个程序,到关闭服务器这段时间。打个形象的比方,当你打开浏览器,在地址栏输入:http:\\localhost:8080\......时,就好比要要会话的两个人见面了,不过在这儿,这两个人一个是tomcat服务器,一个是浏览器。因为运行JSP程序无非就是和tomcat服务器之间进行信息交流,所以第一次运行这个jsp:bean所在的文件,就相当于两个人进行了第一次交流。只有当这个浏览器关闭,相当于一方转身,这次会话才算结束,直到此时,对象资源才会被释放。

3、application的生命周期是服务器其停止间的时间。

理解了上面这些,就不那么理解下面这个现象:如下程序所示:

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<jsp:useBean id="myDate" scope="page" class="java.util.Date">

这是一个标签体

</jsp:useBean>

当时page、request属性时,每次刷新都会有 “这是一个标签体”出现。

当时session属性时,执行第一次有 “这是一个标签体”,刷新之后就没有了。要想重新出现,要将浏览器重启一次。

当时session属性时,执行第一次有 “这是一个标签体”,刷新之后就没有了。要想重新出现,要将tomcat服务器重启一次。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: