如果要確定當前這個物件在什麼範圍,怎麼來除錯它?我們就只用通過構造方法,因為建立乙個物件必然會通過它的構造方法來建立,或者通過反射機制,但是dwr中是通過預設構造方法來為我們建立這個物件。
業務邏輯裡的構造方法:
public userlogic()
業務邏輯方法
public void testscope()
這樣我們就每請求乙個物件的時候,看看它是否會列印出物件userlogic建立成功,也就是表明我們物件是否建立了。
index.jsp裡面的業務方法:
function showscope()
執行結果:console上列印物件userlogic建立成功。我們物件請求的時候會列印,但是這個物件是這對當前頁面的。它的作用範圍是當前頁面。在執行一遍,他還是會列印,說明當前這個頁面每請求一次,它就會建立一次。這也是為什麼dwr給我們提供的預設的範圍是page,它應該是這個範圍是最小的,我每請求一次它就建立一次,然後這個物件就消亡。再請求一次在建立一次再消亡。它並不會去儲存它的狀態,所以我們每次請求它都會去建立乙個新的userlogic,dwr給我們提供預設的範圍就是這個page.如果不配置scope,預設的就是page,我們來執行看看,它也是列印,每建立一次列印一次。所以page可以理解為最小的作用範圍。它是指當前頁面,建立一次就把它銷毀。確切的說不能是銷毀,應該是它不會儲存在任何物件中。這樣我們取的時候不會取到它,所以會在建立乙個。
看一下request範圍,scope="request"對於請求來說,我每次請求,對於dwr來說,它是封裝了 ajax,也就是通過xmlhttprequest物件來發出的非同步請求。所以每請求一次就相當與傳送一次異部請求。我們執行一下,它會列印。說明對於這個request範圍,我們每請求一次,它就會建立一次。也就是我們每次都是請求乙個request物件,請求乙個request物件的時候呢,我們知道dwr封裝了ajax,ajax會通過xmlhttprequest物件來去發出這個請求。所以通過request方式和page方式應該是沒有什麼區別。都是採用請求一次建立一次請求一次建立一次。好這就是所謂的request.
下面看一下session
Spring IOC bean物件的作用範圍
bean標籤的scope屬性 作用 用於指定bean的作用範圍 取值 singleton 單調 預設值 prototype 多例的 request 作用於web應用的請求範圍 session 作用於web應用的會話範圍 global seesion 作用於集群環境的請求範圍 全域性會話範圍 不是集群...
servlet內建物件的作用範圍
servlet內建物件的作用範圍及訪問方法 2006 12 29 20 23 59 那麼,servletconfig引數和servletcontext引數到底應該如何使用,如何取得?一般來說,對整個應用的配置,為了不使用 硬編碼 應該配置為servletcontext引數,比如字符集設定。chars...
jsp內建物件的作用範圍
內建物件的作用範圍是指每個內建物件的某個例項在多長時間和多大的範圍中有效,即在什麼樣的範圍內可以有效地訪問同乙個物件例項。該範圍是從伺服器開始執行到伺服器關閉。2 session的作用範圍 該範圍是從客戶端與伺服器連線開始,到連線中斷為止。3 request的作用範圍 該範圍是從乙個jsp頁面向另乙...