jsp的四大作用域有哪些

小編給大家分享一下jsp的四大作用域有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、江華網(wǎng)絡(luò)推廣、微信小程序開發(fā)、江華網(wǎng)絡(luò)營銷、江華企業(yè)策劃、江華品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供江華建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:bm7419.com

首先要聲明一點(diǎn),所謂“作用域”就是“信息共享的范圍”,也就是說一個(gè)信息能夠在多大的范圍內(nèi)有效。4個(gè)JSP內(nèi)置對象的作用域分別為:application、session、request、page 。

推薦課程:Java教程。

application 作用域

如果把變量放到application里,就說明它的作用域是application,它的有效范圍是整個(gè)應(yīng)用。整個(gè)應(yīng)用是指從應(yīng)用啟動(dòng),到應(yīng)用結(jié)束。我們沒有說“從服務(wù)器啟動(dòng),到服務(wù)器關(guān)閉”,是因?yàn)橐粋€(gè)服務(wù)器可能部署多個(gè)應(yīng)用,當(dāng)然你關(guān)閉了服務(wù)器,就會把上面所有的應(yīng)用都關(guān)閉了。 application作用域里的變量,它們的存活時(shí)間是最長的,如果不進(jìn)行手工刪除,它們就一直可以使用。

Object getAttribute(String name)  //從application中獲取信息;

void setAttribute(String name,Object value)  //向application作用域中設(shè)置信息。

session作用域

如果把變量放到session里,就說明它的作用域是session,它的有效范圍是當(dāng)前會話。所謂當(dāng)前會話,就是指從用戶打開瀏覽器開始,到用戶關(guān)閉瀏覽器這中間的過程。

Object HttpSession.getAttribute(String name)  //從session中獲取信息。

void HttpSession.setAttribute(String name,Object value)//向session中保存信息。

HttpSessionHttpServletRequest.getSessio()  //獲取當(dāng)前請求所在的session的對象。

session從瀏覽器發(fā)出第一個(gè)HTTP請求即可認(rèn)為會話開始。但結(jié)束就不好判斷了,因?yàn)闉g覽器關(guān)閉時(shí)并不會通知服務(wù)器,所以只能通過如下這種方法判斷:如果一定的時(shí)間內(nèi)客戶端沒有反應(yīng),則認(rèn)為會話結(jié)束。Tomcat的默認(rèn)值為120分鐘,但這個(gè)值也可以通過HttpSession的setMaxInactiveInterval()方法來設(shè)置:

void setMaxInactiveInterval(int interval)

如果想主動(dòng)讓會話結(jié)束,例如用戶單擊“注銷”按鈕的時(shí)候,可以使用 HttpSession 的 invalidate()方法,用于強(qiáng)制結(jié)束當(dāng)前session:void invalidate()

Session刪除的時(shí)間是:

1)  Session超時(shí):超時(shí)指的是連續(xù)一定時(shí)間服務(wù)器沒有收到該Session所對應(yīng)客戶端的請求,并且這個(gè)時(shí)間超過了服務(wù)器設(shè)置的Session超時(shí)的最大時(shí)間。

2)  程序調(diào)用HttpSession.invalidate()

3)  服務(wù)器關(guān)閉或服務(wù)停止

注意:

1)  訪問*.html的靜態(tài)資源因?yàn)椴粫痪幾g為Servlet,也就不涉及session的問題。

2)  當(dāng)JSP頁面沒有顯式禁止session的時(shí)候,在打開瀏覽器第一次請求該jsp的時(shí)候,服務(wù)器會自動(dòng)為其創(chuàng)建一個(gè)session,并賦予其一個(gè)sessionID,發(fā)送給客戶端的瀏覽器。

3)  由于session會消耗內(nèi)存資源,因此,如果不打算使用session,應(yīng)該在所有的JSP中關(guān)閉它。

4)  session不會應(yīng)該瀏覽器的關(guān)閉而刪除,只能通過以上三種方式刪除。

session存放在哪里?-----------服務(wù)器端的內(nèi)存中。

Request作用域

request里的變量可以跨越forward前后的兩頁。但是只要刷新頁面,它們就重新計(jì)算了。

請求轉(zhuǎn)發(fā):servlet. getRequestDispatcher("new.jsp").forward(req,resp);

注意:

1、轉(zhuǎn)發(fā)是服務(wù)器行為,而重定向是客戶端行為。

2、無論在服務(wù)器上如何轉(zhuǎn)發(fā),瀏覽器地址欄中顯示的仍然是最初那個(gè)Servlet的地址。

page作用域

page對象的作用范圍僅限于用戶請求的當(dāng)前頁面

request和page的生命周期都是短暫的,它們之間的區(qū)別:一個(gè)request可以包含多個(gè)page頁(include,forward及filter)。

以上是jsp的四大作用域有哪些的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享名稱:jsp的四大作用域有哪些
轉(zhuǎn)載注明:http://bm7419.com/article18/jdeidp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、Google、營銷型網(wǎng)站建設(shè)、企業(yè)建站網(wǎng)站營銷、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)