您好,登錄后才能下訂單哦!
小編給大家分享一下java作用域有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
Java的四大作用域?yàn)椋篜ageContext,ServletRequest,HttpSession,ServletContext。下面請(qǐng)隨小編一起了解一下Java的四大作用域吧。
首先按照作用范圍來(lái)算:
是PageContext(jsp頁(yè)面)<ServletRequest(一次請(qǐng)求)<HttpSession(一次回話)<ServletContext(整個(gè)web應(yīng)用)(application)
若在不同作用域有相同名稱的對(duì)象,則系統(tǒng)的查找順序?yàn)閜age->request->session->application
application作用域:所有作用域中范圍最大的域,由于所有servlet共享一個(gè)servletcontext對(duì)象,所有多個(gè)servlet通過(guò)servletcontext可以實(shí)現(xiàn)數(shù)據(jù)在不同servlet之間的共享,是一個(gè)全局變量
httpsession作用域:范圍第二大的域,(會(huì)話范圍)在第一次調(diào)用request.getSession()方法時(shí),服務(wù)器會(huì)檢查是否已經(jīng)有對(duì)應(yīng)的session。如果沒(méi)有,就在內(nèi)存中創(chuàng)建一個(gè)session并返回。當(dāng)一短時(shí)間內(nèi)(默認(rèn)30分鐘)session沒(méi)有被使用,則服務(wù)器會(huì)銷毀該session。若服務(wù)器非正常關(guān)閉,未到期的session也會(huì)跟著銷毀。若調(diào)用session提供的invalidate()方法,可以立即銷毀session。
servletRequest作用域:范圍第三大的域,在整個(gè)請(qǐng)求鏈中共享數(shù)據(jù),最長(zhǎng)用于在servlet中處理好的數(shù)據(jù)交給jsp顯示,此時(shí)參數(shù)就可以放置在servletRequest域中帶過(guò)去
PageContext作用域:范圍最小的一個(gè)域,可以獲取其他八大內(nèi)置對(duì)象,可以認(rèn)為是一個(gè)入口對(duì)象,能夠獲取其他所有域中的數(shù)據(jù)。能跳轉(zhuǎn)到其他資源,其身上提供forward和sendRedirect方法,簡(jiǎn)化了轉(zhuǎn)發(fā)和重定向的操作,代表頁(yè)面上下文,該對(duì)象主要用于訪問(wèn)jsp之間的共享數(shù)據(jù),當(dāng)對(duì)jsp的請(qǐng)求時(shí)開(kāi)始,當(dāng)響應(yīng)結(jié)束時(shí)銷毀
以上是java作用域有哪些的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。