servlet的三大作用域

java web開發(fā)中servlet三大作用域?qū)ο鬄閞equest、session和application(ServletContext)

1.request

request表示一個請求,只要發(fā)出一個請求就會創(chuàng)建一個request。

作用域:

僅在當前請求中有效。

用處:

常用于服務(wù)器間同一請求不同頁面之間的參數(shù)傳遞。常用于表單的控件值傳遞。

方法:

request.setAttribute();request.getAttribute();request.removeAttribute();request.getParameter().

2.session

服務(wù)器會為每個會話創(chuàng)建一個session對象,所以session中的數(shù)據(jù)可供當前會話中所有Servlet共享。

作用域:

用戶打開瀏覽器會話開始,直到關(guān)閉瀏覽器會話才結(jié)束。一次會話期間只會創(chuàng)建一個session對象。

用處:

常用于web開發(fā)中的登錄驗證頁面(當用戶登錄成功后瀏覽器分配其一個session鍵值對)

方法:

session.setAttribute(); session.getAttribute(); session.removeAttribute();

獲得session對象方法:

在Servlet中:HttpSession session = request.getSession();

由于session屬于jsp九大內(nèi)置對象之一,當然可以直接使用。例如:<%session.serAttribute("name","admin")%>。

session是服務(wù)器對象,保存在服務(wù)器端。并且服務(wù)器可以將創(chuàng)建session后產(chǎn)生的sessionId通過一個cookie返回給客戶端,方便下次驗證。

3.application(ServletContext)

作用域:

所有的用戶都可以取得這個信息,此信息在整個服務(wù)器中被保留。application屬性范圍值,只要設(shè)置一次,則所有的網(wǎng)頁窗口都可以取得數(shù)據(jù)。

ServletContext在服務(wù)器啟動時創(chuàng)建,在服務(wù)器關(guān)閉時銷毀,一個javaweb應(yīng)用只能創(chuàng)建一個ServletContext對象。所有客戶端在訪問服務(wù)器時共享同一個ServletContext對象。

獲取application對象方法(Servlet中):

ServletContext app01 = this.getServletContext();

app01.setAttribute("name", "kaixuan");??? //設(shè)置一個值進去

ServletContext app02 = this.getServletContext();

app02.getAttribute("name");??? //獲取鍵值對

4.如何正確的選擇作用域

*(1)? request:跟當前操作功能相關(guān)

* (2) session: 跟用戶信息相關(guān)

* (3) application:跟項目全局信息相關(guān)----》淘寶配送地址

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容