1,什麼是Sessionhtml
Session通常譯爲會話,是解決Http協議的無狀態問題的方案,能夠將一次會話中的數據存儲在服務器端的內存中,保證在下一次的會話中可使用。java
在客戶端瀏覽器第一次向服務器端發送請求時,服務器端會爲這個客戶端建立獨有的Session,並具備惟一的Session ID,存儲在服務器端的內存中。在客戶端第二次訪問服務器端時,會攜帶Session ID在請求中,服務器端會根據Session ID查找對應的Session信息,進行進一步地操做。apache
在JavaEE中提供了javax.servlet.http.HttpSession接口,經過該接口能夠將共享的數據內容存儲在HttpSession對象中,從而解決Http協議的無狀態問題瀏覽器
2,Session與cookie的區別緩存
Session與Cookie都是解決Http協議的無狀態問題,可是二者之間仍是存在必定區別的:安全
總的來講,Session與Cookie各有優點,不能簡單來講誰更優。具體用法要考慮具體案例狀況而定。服務器
3,Session的實現原理cookie
在idea中使用上一個程序進行調試,訪問servlet並抓取內容,最後發現實際獲得的是org.apache.catalina.session.StandardSession對象,該對象是由Tomcat服務器的Session池建立,併爲該對象建立惟一的ID值。session
最後結論:ide
由於Session使用的是會話Cookie,因此當瀏覽器關閉後,Session會失效。從新打開瀏覽器訪問對應Servlet時,服務器端會從新建立Session對象。可使用持久Cookie來延長Session的有效時間。
3,Session的額生命週期
能夠利用setMaxInactiveInterval(int interval)方法設置Session的有效時間。
摘抄自:https://www.cnblogs.com/aaron911/p/7889353.html
因爲還在初學階段,對session的理解還不太透徹,只好經過別人已有的總結來理解session。