真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

jsp的四大作用域有哪些-創(chuàng)新互聯(lián)

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

成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、重慶網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序設(shè)計(jì)、集團(tuán)成都定制網(wǎng)站等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶(hù);涵蓋的客戶(hù)類(lèi)型包括:成都門(mén)窗定制等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶(hù)的一致稱(chēng)贊!

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

推薦課程:Java教程。

application 作用域

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

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

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

session作用域

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

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

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

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

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

void setMaxInactiveInterval(int interval)

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

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

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

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

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

注意:

1)  訪問(wèn)*.html的靜態(tài)資源因?yàn)椴粫?huì)被編譯為Servlet,也就不涉及session的問(wèn)題。

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

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

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

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

Request作用域

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

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

注意:

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

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

page作用域

page對(duì)象的作用范圍僅限于用戶(hù)請(qǐng)求的當(dāng)前頁(yè)面

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

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


網(wǎng)站名稱(chēng):jsp的四大作用域有哪些-創(chuàng)新互聯(lián)
當(dāng)前地址:http://weahome.cn/article/dgeicj.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部