初识session
session是服務(wù)端產(chǎn)生,保存在服務(wù)端的。
session的獲取是通過(guò)httpservletrequest的getSession(boolean create)? Returns the current HttpSession associated with this request or, if there is no current session and create is true, returns a new session.或者getSession()? Returns the current session associated with this request, or if the request does not have a session, creates one.
session的失效通過(guò)httpsession的invalidate()??? Invalidates this session then unbinds any objects bound to it.。
session的工作原理。
服務(wù)器會(huì)為每個(gè)回話創(chuàng)建一個(gè)session與之綁定使用。服務(wù)器會(huì)為應(yīng)用創(chuàng)建一個(gè)session列表,這是個(gè)map集合。map是用一個(gè)隨機(jī)串作為key,而value是session對(duì)象的引用。
當(dāng)用戶(hù)進(jìn)行一次請(qǐng)求時(shí),通過(guò)request.getSession()之后,會(huì)在map中添加一個(gè)key和與之對(duì)應(yīng)的session對(duì)象作為value。將session放入map之后。還會(huì)將key作為value與jsessionid綁定,放入cookie傳到前臺(tái),前臺(tái)將這個(gè)cookie放入瀏覽器緩存中,當(dāng)再次請(qǐng)求時(shí)會(huì)將這個(gè)cookie傳回后臺(tái),后臺(tái)根據(jù)jsessionid的value去map中讀取對(duì)應(yīng)的session對(duì)象。進(jìn)行一系列的操作。
?所謂的會(huì)話結(jié)束,并不是單單的關(guān)閉瀏覽器,而是指session失效。
轉(zhuǎn)載于:https://www.cnblogs.com/wangyanei2017/p/9229123.html
總結(jié)
- 上一篇: @Controller和@RestCon
- 下一篇: 求一个qq情侣网名两字的。