Servlet的三大作用域

Servlet的三大作用域

request

request是一個請求,只要發(fā)送一個請求就會創(chuàng)建一個request對象,這個對象只在本次請求中有效。

一般用于不同頁面之間的同一請求,比如表單的傳值,a鏈接的傳值跳轉(zhuǎn)等。

request對象常用的方法有:request.setAttribute(), request.getAttribute(), request.removeAttribute(), request.getParameter()等。

session

session是一次會話,服務器會為每一個會話創(chuàng)建一個session對象,session中的數(shù)據(jù)可以被本次會話中的所有servlet訪問,會話是從瀏覽器打開開始,到關(guān)閉瀏覽器結(jié)束。

session常用于登錄驗證,登錄成功后瀏覽器會為其分配一個session鍵值對,之后的訪問權(quán)限判斷鍵值對就可以了。

session對象常用的方法有session.setAttribute(); session.getAttribute(); session.removeAttribute();

session對象的創(chuàng)建,在servlet中使用HttpSession session = request.getSession();l的方式來創(chuàng)建;因為session是JSP的內(nèi)置對象,所以在jsp頁面中可以通過<%session.setAttribute(“name”,”name”)%>的方式使用session

session對象的銷毀??梢酝ㄟ^設置他的有效時間從而達到銷毀的目的,session.setMaxInactiveInterval(10);還可以直接注銷掉session.invalidate();

用戶第一次訪問服務器的時候服務器會自動給其分配一個sessionID,用戶將該sessionID存放到本地,下次使用的時候就不會再次創(chuàng)建了。


application

application是應用程序作用域,是從程序開始運行到運行停止。

保存在application作用域中的值,只要程序沒有停止運行,都可以獲取。

此作用域一般不使用。

注意

如果能使用request作用域就使用request作用域,如果request作用域用不了,則使用session作用域。會話級別的數(shù)據(jù)要是用session作用域,比如說登錄信息,銀行賬號,如果數(shù)據(jù)是系統(tǒng)級別的,那么使用application作用域

---------------------

作者:Sunny-安好

來源:CSDN

原文:https://blog.csdn.net/qq_19001241/article/details/77924213

版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!



相同點:

ServletContext 就是application!

說明:

其實servletContext和application 是一樣的,就相當于一個類創(chuàng)建了兩個不同名稱的變量。ServletContext及application是單個服務器上部署是單例的,所以兩者本質(zhì)上是一個對象。

大家只要打開jsp編譯過后生成的Servlet中的 _jspService()方法就可以看到如下的聲明:

ServletContext application =null;application = pageContext.getServletContext();

不同點:

application用在jsp中,servletContext用在servlet中。

說明:

application和page request session 都是JSP中的內(nèi)置對象,

在后臺用ServletContext存儲的屬性數(shù)據(jù)可以用application對象獲得。而且application的作用域是整個Tomcat啟動的過程。

例如:

?ServletContext.setAttribute("username",username);

則在JSP網(wǎng)頁中可以使用如下語句來得到這個用戶名。

application.getAttribute("username");


https://www.cnblogs.com/vice/p/9125431.html

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

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

  • java web開發(fā)中servlet三大作用域?qū)ο鬄閞equest、session和application(Ser...
    busy1225閱讀 1,979評論 0 0
  • JSP總結(jié)(經(jīng)典) day1 JSP 定義: 1)Java Server Page, Java EE 組件,本...
    91數(shù)據(jù)閱讀 3,640評論 0 13
  • 這部分主要是與Java Web和Web Service相關(guān)的面試題。 96、闡述Servlet和CGI的區(qū)別? 答...
    雜貨鋪老板閱讀 1,501評論 0 10
  • IOC 控制反轉(zhuǎn)容器控制程序?qū)ο笾g的關(guān)系,而不是傳統(tǒng)實現(xiàn)中,有程序代碼之間控制,又名依賴注入。All 類的創(chuàng)建,...
    irckwk1閱讀 1,093評論 0 0
  • 本文包括:1、Listener簡介2、Servlet監(jiān)聽器3、監(jiān)聽三個域?qū)ο髣?chuàng)建和銷毀的事件監(jiān)聽器4、監(jiān)聽三個域?qū)?..
    廖少少閱讀 6,636評論 6 28

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