javascript
Servlet和JSP学习指导与实践(二):Session追踪
前言:
web應(yīng)用中經(jīng)常需要對某些有用的信息進(jìn)行存儲或者附加一些信息。本文主要介紹session,即“會話”跟蹤的幾種不同方式~
----------------------------
4種管理session的方式:
1.重寫url
通過在請求的url后面追加參數(shù)信息進(jìn)行會話跟蹤。如:
"http://localhost:8080/shop/index.jsp?page=1&name=admin"
2.使用隱藏域
比如更新用戶信息時,因為id不可更改,故將傳到更新頁面的user.id設(shè)置為hidden:
<form action="${pageContext.request.contextPath}/userAction_update.action" method="post">用戶名:<input type="text" name="name" value="${requestScope.user.name }" /><br><input type="submit" value="提交" /><input type="hidden" name="id" value="${requestScope.user.id}" /></form>3.Cookie
javax.servlet.http的package下面專門有Cookie類,通過 new Cookie()我們可以解決前面2種方式的缺陷,即不只是將信息傳送到下一個頁面或者下一個請求,而是實現(xiàn)將信息保存在進(jìn)行多個頁面。Cookie中的信息相當(dāng)于一個“信息塊”,其可以在瀏覽器和服務(wù)器之間傳送。但是,瀏覽器默認(rèn)的可容納的Cookie數(shù)量有限,一般不超過20個。而且,Cookie無法準(zhǔn)確定位。想要確認(rèn)當(dāng)前頁面是否含有“A”這個Cookie,必須通過枚舉才可能得知!
4.HttpSessioin
HttpSession對象是一種更強(qiáng)大的會話管理方式。其可通過http訪問過程中的request獲得,并將其保存到服務(wù)器中。由于其可以跨頁面保存,因此一般用于保存重要的用戶信息或者購物車信息等!
-----------------------------------
附:session與cookie的聯(lián)系與區(qū)別:
(1)聯(lián)系:
cookie與session都可以用于跨頁面的信息保存,比url重寫和hidden的方式更穩(wěn)定。
(2)區(qū)別:
- cookie一般存在于客戶端的本地瀏覽器,而session存在于遠(yuǎn)程的server端。
- cookie存儲機(jī)制不同于session。前者,每次必須遍歷完所有的cookie信息才能進(jìn)行;后者可通過getAttribute(String s)來判斷當(dāng)前是否存在“s”的session,因此存取session方便;
- session較cookie靈活,而且更安全。
轉(zhuǎn)載于:https://www.cnblogs.com/SeaSky0606/p/4769828.html
總結(jié)
以上是生活随笔為你收集整理的Servlet和JSP学习指导与实践(二):Session追踪的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 排序第一天,回忆关键字
- 下一篇: Spring学习(24)--- AOP之