JavaBean的保存範圍

在<jsp:useBean>的指令上存在一個scope屬性,表示的是一個JavaBean的保存範圍,保存的範圍一共是四種:

1.page:保存在一頁的範圍之中,跳轉之後此JavaBean無效;

2.request:一個JavaBean對象可以保存在一次服務器跳轉範圍中;

3.session:在一個用戶的操作範圍中保存,重新打開瀏覽器的時候纔會聲明新的JavaBean;

4.application:在整個服務器上保存,服務器關閉時纔會消失。

Count.java

package he.xiao.wei;
public class Count{
	private int count;
	public Count(){
		System.out.println("============這是一個新的Count對象============");
	}
	public int getCount(){
		return ++this.count;
	}
}

page1.jsp:

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>歡迎來到望星空</title></head>
<jsp:useBean id="cou" scope="page" class="blog.csdn.joywy.Count"/>
<body>
<h3>第<jsp:getProperty name="cou" property="count"/>次訪問</h3>
<jsp:forward page="page2.jsp"/>
</body>
</html>
page2.jsp

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>歡迎來到望星空</title></head>
<jsp:useBean id="cou" scope="page" class="blog.csdn.joywy.Count"/>
<body>
<h3>第<jsp:getProperty name="cou" property="count"/>次訪問</h3>
</body>
</html>
代碼執行的時候,兩次輸出都是一樣的。驗證了page的保存範圍只在一頁。以上兩個頁面都需要重新定義新的對象。

request1.jsp

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>歡迎來到望星空</title></head>
<jsp:useBean id="cou" scope="request" class="blog.csdn.joywy.Count"/>
<body>
<h3>第<jsp:getProperty name="cou" property="count"/>次訪問</h3>
<jsp:forward page="request1.jsp"/>
</body>
</html>
request2.jsp
<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>歡迎來到望星空</title></head>
<jsp:useBean id="cou" scope="request" class="blog.csdn.joywy.Count"/>
<body>
<h3>第<jsp:getProperty name="cou" property="count"/>次訪問</h3>
</body>
</html>
在request1.jsp頁面中設置了一個request範圍的JavaBean,這樣在進行服務器跳轉之後request02.jsp就不會再重新定義新的JavaBean對象。
session_bean.jsp

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>歡迎來到望星空</title></head>
<jsp:useBean id="cou" scope="session" class="blog.csdn.joywy.Count"/>
<body>
<h3>第<jsp:getProperty name="cou" property="count"/>次訪問</h3>
</body>
</html>
將一個JavaBean設置在session範圍中,在一個session中無論如何刷新頁面,session_bean.jsp都不會重新聲明新的JavaBean對象。

application_bean.jsp

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>歡迎來到望星空</title></head>
<jsp:useBean id="cou" scope="application" class="he.xiao.wei.Count"/>
<body>
<h3>第<jsp:getProperty name="cou" property="count"/>次訪問</h3>
</body>
</html>

發佈了54 篇原創文章 · 獲贊 14 · 訪問量 39萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章