四种方式实现数据共享
1.ServletContext接口
它有一個屬性 arrtibute-currentHashmap。
使用規(guī)則:可以被當(dāng)前網(wǎng)站中所有的Servlet使用
生命周期:在http服務(wù)器啟動時就會創(chuàng)建一個實(shí)現(xiàn)類對象,并且規(guī)定在運(yùn)行時必須有且只能有一個實(shí)現(xiàn)類對象。在服務(wù)器將要關(guān)閉時,就會銷毀它。
別名叫全局作用域?qū)ο蟆?/p>
使用方法:
先提供請求對象request索要全局作用域?qū)ο?#xff0c;再將共享數(shù)據(jù)存儲在共享平臺中,它相當(dāng)于一個共享平臺的管理員。再另一個Servlet索要全局作用域?qū)ο?#xff0c;得到平臺存放的數(shù)據(jù),以此來實(shí)現(xiàn)數(shù)據(jù)共享。
優(yōu)缺點(diǎn):優(yōu)點(diǎn)是可以被當(dāng)前網(wǎng)站所有的Servlet對象來訪問數(shù)據(jù),但是因?yàn)閙ap會自動擴(kuò)容,所以會越來越占內(nèi)存,數(shù)據(jù)也不安全,不建議使用,
2.httpServletRequest(推薦使用的) 請求對象/作用域?qū)ο?/p>
使用規(guī)則:處于同一次請求中轉(zhuǎn)發(fā)過程中的servlet可以使用來實(shí)現(xiàn)數(shù)據(jù)共享
原理:請求轉(zhuǎn)發(fā)。 request.getDidpatcher("/aaa.html").forward(request,response)
生命周期:在本次請求結(jié)束后就會被銷毀
優(yōu)缺點(diǎn):占用內(nèi)存小,不易發(fā)生數(shù)據(jù)感染,存在事件也較短。
3.cookie
類似于用戶的會員卡,在每次請求結(jié)束后,會把cookie放在相應(yīng)包中的響應(yīng)頭中存到瀏覽器的內(nèi)存中,頁可以設(shè)置存在硬盤中,且可以設(shè)置事件。
要注意cookie中的key和vaklue只能是字符串。
使用規(guī)則:只要是先后為同一個用戶同一個瀏覽器服務(wù)的servlet就可以借助cookie實(shí)現(xiàn)數(shù)據(jù)共享
4.HttpSession接口(會話作用域?qū)ο?#xff09;
arrtibute-concurrentHashmap
使用規(guī)則:只有為用戶服務(wù)過的Servlet才有資格使用,當(dāng)前用戶的私人儲物柜實(shí)現(xiàn)數(shù)據(jù)共享。
推送過程中不會顯示cookie中的具體數(shù)據(jù),顯示(JSESession ,編號)這樣就提高了安全性。
令牌機(jī)制也是用它完成的。
生命周期:默認(rèn)情況下JSESession 是存在瀏覽器的內(nèi)存中的,每創(chuàng)建一個session對象就會設(shè)置一個最大空閑時間,從使用完成開始計時,為30min。超過這個事件以后才會銷毀? ?
總結(jié)
以上是生活随笔為你收集整理的四种方式实现数据共享的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 直观易懂的机械动图,展示生活中机构的原理
- 下一篇: 9月16日数据技术嘉年华成都站,完整议程