更新時間:2022-12-27 11:59:30 來源:動力節(jié)點 瀏覽2161次
Java作用域分為public,protected,friendly,private.
首先按照作用Java作用域范圍來算:是PageContext(jsp頁面)
若在不同作用域有相同名稱的對象,則系統(tǒng)的查找順序為page->request->session->application
application作用域:所有作用域中范圍最大的域,由于所有servlet共享一個servletcontext對象,所有多個servlet通過servletcontext可以實現(xiàn)數(shù)據(jù)在不同servlet之間的共享,是一個全局變量
httpsession作用域:范圍第二大的域,(會話范圍)在第一次調(diào)用request.getSession()方法時,服務(wù)器會檢查是否已經(jīng)有對應(yīng)的session。如果沒有,就在內(nèi)存中創(chuàng)建一個session并返回。當(dāng)一短時間內(nèi)(默認(rèn)30分鐘)session沒有被使用,則服務(wù)器會銷毀該session。若服務(wù)器非正常關(guān)閉,未到期的session也會跟著銷毀。若調(diào)用session提供的invalidate()方法,可以立即銷毀session。
servletRequest作用域:范圍第三大的域,在整個請求鏈中共享數(shù)據(jù),最長用于在servlet中處理好的數(shù)據(jù)交給jsp顯示,此時參數(shù)就可以放置在servletRequest域中帶過去
PageContext作用域:范圍最小的一個域,可以獲取其他八大內(nèi)置對象,可以認(rèn)為是一個入口對象,能夠獲取其他所有域中的數(shù)據(jù)。能跳轉(zhuǎn)到其他資源,其身上提供forward和sendRedirect方法,簡化了轉(zhuǎn)發(fā)和重定向的操作,代表頁面上下文,該對象主要用于訪問jsp之間的共享數(shù)據(jù),當(dāng)對jsp的請求時開始,當(dāng)響應(yīng)結(jié)束時銷毀
作用域與可見性 | 當(dāng)前類 | 同一package | 子類 | 其他package |
---|---|---|---|---|
public | √ | √ | √ | √ |
protected | √ | √ | √ | × |
default(friendly) | √ | √ | × | × |
private | √ | × | × | × |
public關(guān)鍵字在所有的包、類中都可以訪問
protected關(guān)鍵字僅在同包或者其子類中可以訪問
default關(guān)鍵字僅在同一包中可以訪問
private關(guān)鍵字僅在當(dāng)前類中可以訪問
以上就是關(guān)于“Java四大作用域”的介紹,大家如果想了解給更多相關(guān)知識,不妨來關(guān)注一下本站的Java視頻教程,里面的課程內(nèi)容從入門到精通,細(xì)致全面,通俗易懂,很適合沒有基礎(chǔ)的小伙伴學(xué)習(xí),希望對大家能夠有所幫助。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743