国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

Java有哪四大域對象

發(fā)布時(shí)間:2021-07-04 20:13 來(lái)源:億速云 閱讀:0 作者:Leah 欄目: 開(kāi)發(fā)技術(shù)

Java有哪四大域對象,很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細講解,有這方面需求的人可以來(lái)學(xué)習下,希望你能有所收獲。

一、ServletContext

1、生命周期:當Web應用被加載進(jìn)容器時(shí)創(chuàng )建代表整個(gè)web應用的ServletContext對象,當關(guān)閉或Web應用被移除時(shí),ServletContext對象跟著(zhù)銷(xiāo)毀。

2、作用范圍:整個(gè)Web應用。

3、作用:

a)在不同Servlet 之間轉發(fā)

this.getServletContext().getRequestDispatcher("/servlet/Demo10Servlet").forward(request, response);

方法執行結束,service就會(huì )返回到服務(wù)器,再有服務(wù)器去調用目標servlet,其中request會(huì )重新創(chuàng )建,并將之前的request的數據拷貝進(jìn)去。

b)讀取資源文件。

1、由于相對路徑默認相對的是java虛擬機啟動(dòng)的目錄,所以我們直接寫(xiě)相對路徑將會(huì )是相對于tomcat/bin目錄,所以是拿不到資源的。

如果寫(xiě)成絕對路徑,當項目發(fā)布到其他環(huán)境時(shí),絕對路徑就錯了。

2、為了解決這個(gè)問(wèn)題ServletContext提供了:

this.getServletContext().getRealPath(“/1.properties”),給進(jìn)一個(gè)資源的虛擬路徑,將會(huì )返回該資源在當前環(huán)境下的真實(shí)路徑。

this.getServletContext().getResourceAsStream(“/1.properties”),給一個(gè)資源的虛擬路徑返回到該資源真實(shí)路徑的流。

3、當在非servlet下獲取資源文件時(shí),就沒(méi)有ServletContext對象用了,此時(shí)只能用類(lèi)加載器

classLoader.getResourceAsStream(“../../1.properties”),此方法利用類(lèi)加載器直接將資源加載到內存中,有更新延遲的問(wèn)題,

以及如果文件太大,占用內存過(guò)大。

classLoader.getResource(“../1.properties”).getPath(),直接返回資源的真實(shí)路徑,沒(méi)有更新延遲的問(wèn)題。

二、Request 域

1、生命周期:在service 方法調用前由服務(wù)器創(chuàng )建,傳入service方法。整個(gè)請求結束,request生命結束。

2、作用范圍:整個(gè)請求鏈(請求轉發(fā)也存在)。

3、作用:  在整個(gè)請求鏈中共享數據。最常用到:在Servlet 中處理好的數據交給Jsp顯示,此時(shí)參數就可以放置在Request域中帶過(guò)去。

三、Session 域

HttpSession 在服務(wù)器中,為瀏覽器創(chuàng )建***的內存空間,在其中保存會(huì )話(huà)相關(guān)的信息。

1、生命周期:在***次調用 request.getSession() 方法時(shí),服務(wù)器會(huì )檢查是否已經(jīng)有對應的session,如果沒(méi)有就在內存  中創(chuàng )建一個(gè)session并返回。

當一段時(shí)間內session沒(méi)有被使用(默認為30分鐘),則服務(wù)器會(huì )銷(xiāo)毀該session。

如果服務(wù)器非正常關(guān)閉(強行關(guān)閉),沒(méi)有到期的session也會(huì )跟著(zhù)銷(xiāo)毀。

如果調用session提供的invalidate() ,可以立即銷(xiāo)毀session。

注意:服務(wù)器正常關(guān)閉,再啟動(dòng),Session對象會(huì )進(jìn)行鈍化和活化操作。同時(shí)如果服務(wù)器鈍化的時(shí)間在session 默認銷(xiāo)毀時(shí)間之內,

則活化后session還是存在的。否則Session不存在。  如果JavaBean 數據在session鈍化時(shí),沒(méi)有實(shí)現Serializable 則當Session活化時(shí),會(huì )消失。

2、作用范圍:一次會(huì )話(huà)。

四、PageContext 域

1、生命周期:當對JSP的請求時(shí)開(kāi)始,當響應結束時(shí)銷(xiāo)毀。

2、作用范圍:整個(gè)JSP頁(yè)面,是四大作用域中最小的一個(gè)。

作用:

(1)獲取其它八大隱式對象,可以認為是一個(gè)入口對象。

(2)獲取其所有域中的數據

pageContext 操作所有域中屬性的方法

public java.lang.Object getAttribute(java.lang.String name,int scope)
public void setAttribute(java.lang.String name, java.lang.Object value,int scope)
public void removeAttribute(java.lang.String name,int scope)

pageContext 中代表域的常量

PageContext.APPLICATION_SCOPE
PageContext.SESSION_SCOPE
PageContext.REQUEST_SCOPE
PageContext.PAGE_SCOPE

findAttribute方法,在四大域中搜尋屬性,搜尋的順序是page域、request域、session域、application域,

從小域到大域開(kāi)始搜索,如果搜索到就直接獲取該值,如果所有域中都找不到,返回一個(gè)null(與el表達式不同,此處返回null,對網(wǎng)頁(yè)是不友好的)

(3)跳轉到其他資源      其身上提供了forward和include方法,簡(jiǎn)化重定向和轉發(fā)的操作

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。

成 人 a v 在线视频| 人妻aⅴ中文字幕无码| 国产欧美VA欧美VA香蕉在线| 久久精品岛国AV一区二区无码| 国产三级精品三级在线专区1| 秋霞无码一区二区|