简述session
1.Session概述
* session是服務(wù)器端技術(shù)* 服務(wù)器在運(yùn)行時(shí)可以為每一個(gè)用戶(hù)的瀏覽器創(chuàng)建一個(gè)其獨(dú)享的session對(duì)象* 由于session為用戶(hù)瀏覽器獨(dú)享,所以用戶(hù)在訪(fǎng)問(wèn)服務(wù)器的web資源時(shí),可以把各自的數(shù)據(jù)放在各自的session中* 當(dāng)用戶(hù)再去訪(fǎng)問(wèn)服務(wù)器中的其它web資源時(shí),其它web資源再?gòu)挠脩?hù)各自的session中取出數(shù)據(jù)為用戶(hù)服務(wù)* session也是基于cookie技術(shù)的,傳遞是session的id值2.Session對(duì)象的API
* void setAttribute(String name, Object value) * Object getAttribute(String name) * void removeAttribute(String name) * String getId() -- session的空間有唯一的id值,獲取該id值的。 * void invalidate() -- 銷(xiāo)毀session對(duì)象 * ServletContext getServletContext() -- 獲取ServletContext域?qū)ο??3.使用request對(duì)象來(lái)獲取到session的對(duì)象
* request.getSession() -- 返回HttpSession對(duì)象,第一次調(diào)用,為你創(chuàng)建session對(duì)象(空間)4.Session的創(chuàng)建和銷(xiāo)毀
session對(duì)象的創(chuàng)建
* 針對(duì)是每個(gè)用戶(hù)的瀏覽器,為每一個(gè)瀏覽器都創(chuàng)建一個(gè)獨(dú)享的session的對(duì)象。* request.getSession() -- 該方法可以創(chuàng)建session的對(duì)象,但是也可以來(lái)獲取到session對(duì)象* 根據(jù)cookie對(duì)象中是否有jsessionid的cookie,如果有,通過(guò)id值查找,找到了不用創(chuàng)建了,返回。如果沒(méi)有找到,創(chuàng)建一個(gè)新的session對(duì)象。session對(duì)象的銷(xiāo)毀
* 關(guān)閉服務(wù)器銷(xiāo)毀session* 非正常的原因關(guān)閉服務(wù)器,銷(xiāo)毀session* 如果正常關(guān)閉服務(wù)器,session會(huì)被序列化到磁盤(pán)上。 * 配置session的默認(rèn)銷(xiāo)毀時(shí)間,默認(rèn)值是30分鐘* 在tomcat/conf/web.xml文件中設(shè)置了session默認(rèn)超時(shí)時(shí)間<session-config><session-timeout>30</session-timeout></session-config>* 設(shè)置session最大的存活的時(shí)間
* void setMaxInactiveInterval(int interval)
* 直接使用方法,銷(xiāo)毀session* invalidate();
5.Session域?qū)ο?/span>
5.1.session的域?qū)ο?/span>
* 作用:用來(lái)傳遞數(shù)據(jù) * 區(qū)別:每個(gè)域?qū)ο蟮拇婊顣r(shí)間不同!!5.2.方法
* void setAttribute(String name, Object value) * Object getAttribute(String name) * void removeAttribute(String name)5.3.域?qū)ο?#xff08;3個(gè)域?qū)ο笞钪匾?#xff09;
* request -- 真實(shí)對(duì)象HttpServletRequest* 代表的是一次請(qǐng)求的范圍* 在服務(wù)器端給客戶(hù)度傳遞一些提示的信息和查詢(xún)的數(shù)據(jù)* session -- 真實(shí)對(duì)象HttpSession* 代表的是一次會(huì)話(huà)的范圍(可以發(fā)送多次請(qǐng)求和得到多次響應(yīng))* 保存的都是和每個(gè)用戶(hù)相關(guān)的數(shù)據(jù)(登錄后需要把用戶(hù)的信息,購(gòu)買(mǎi)商品需要保存起來(lái))* application -- 真實(shí)對(duì)象ServletContext* 代表的是一個(gè)WEB應(yīng)用* 保存全局共享的數(shù)據(jù)
?
總結(jié)
- 上一篇: Linux下让进程在后台可靠运行的几种方
- 下一篇: ansile(3)playbook 使用