JavaWeb笔记——JavaBean对象的生命周期

JavaWeb笔记——JavaBean对象的生命周期_第1张图片
利用scope指定

session类型

JavaWeb笔记——JavaBean对象的生命周期_第2张图片
举例:
JavaWeb笔记——JavaBean对象的生命周期_第3张图片
JavaWeb笔记——JavaBean对象的生命周期_第4张图片

package mybean;

public class Counter {
private int count=0;
public Counter() {
	
}
public int getCount() {
	return ++count;
}
public void setCount(int count) {
	this.count = count;
}

}

新建counterdemo.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>演示session类型的生命周期</title>
</head>
<body>
<jsp:useBean id="counter" class="mybean.Counter" scope="session"></jsp:useBean>
范围:session<br>
您是本站第<%out.println(counter.getCount()); %>
位参观者。
</body>
</html>

JavaWeb笔记——JavaBean对象的生命周期_第5张图片
scope取值为session的bean用户所访问的web服务目录在各个界面有效,直到用户的会话消失。但需要注意的是,不同用户的scope取值是session的bean互不相同,占用不同的内存空间。也就是说,当两个用户同时访问一个JSP页面时,一个用户对自己的bean属性的改变,不会影响另一个用户。

关闭运行结果页面,再运行一次
JavaWeb笔记——JavaBean对象的生命周期_第6张图片
再运行
JavaWeb笔记——JavaBean对象的生命周期_第7张图片
复制地址在浏览器中打开
JavaWeb笔记——JavaBean对象的生命周期_第8张图片
两个用户同时访问一个JSP页面,一个用户对自己bean属性的改变,不会影响另一个用户

application类型

JavaWeb笔记——JavaBean对象的生命周期_第9张图片
修改counterdemo.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>演示application类型的生命周期</title>
</head>
<body>
<jsp:useBean id="counter" class="mybean.Counter" scope="application"></jsp:useBean>
范围:application<br>
您是本站第<%out.println(counter.getCount()); %>
位参观者。
</body>
</html>

JavaWeb笔记——JavaBean对象的生命周期_第10张图片
刷新
JavaWeb笔记——JavaBean对象的生命周期_第11张图片
复制地址在浏览器中打开
JavaWeb笔记——JavaBean对象的生命周期_第12张图片
如果bean的有效范围是application,那么JSP引擎为web服务目录下的所有的JSP页面分配了一个共享的bean,不用用户的scope取值是application的bean,也都是相同的一个

page类型

JavaWeb笔记——JavaBean对象的生命周期_第13张图片
修改counterdemo.jsp
JavaWeb笔记——JavaBean对象的生命周期_第14张图片
刷新
JavaWeb笔记——JavaBean对象的生命周期_第15张图片

还是第一位
复制地址用浏览器打开
JavaWeb笔记——JavaBean对象的生命周期_第16张图片
还是第一位

因为page只有在本页面有效

request类型

JavaWeb笔记——JavaBean对象的生命周期_第17张图片
新建request.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>演示request类型的生命周期</title>
</head>
<body>
<jsp:useBean id="counter" class="mybean.Counter" scope="request"></jsp:useBean>
范围:request<br>
您是本站第<%out.println(counter.getCount()); %>
位参观者。
<jsp:forward page="request0.jsp"></jsp:forward>
</body>
</html>

新建request0.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>演示request类型的生命周期</title>
</head>
<body>
<jsp:useBean id="counter" class="mybean.Counter" scope="request"></jsp:useBean>
范围:request演示<br>
您是本站第<%out.println(counter.getCount()); %>
位参观者。
</body>
</html>

运行request.jsp
JavaWeb笔记——JavaBean对象的生命周期_第18张图片
有演示两个字,说明转到了request0.jsp,请求转发后的页面与前面的页面使用的是同一个实例,所以是第二位

你可能感兴趣的:(JavaWeb笔记——JavaBean对象的生命周期)