教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Session超時是什么意思?Session超時管理【W(wǎng)eb前端培訓(xùn)】

更新時間:2022年12月27日10時17分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

  當(dāng)客戶端第一次訪問某個能開啟會話功能的資源時,Web服務(wù)器就會創(chuàng)建一個與該客戶端對應(yīng)的HttpSession對象。在HTTP協(xié)議中,Web服務(wù)器無法判斷當(dāng)前的客戶端瀏覽器是否還會繼續(xù)訪問,也無法檢測客戶端瀏覽器是否關(guān)閉,所以,即使客戶端已經(jīng)離開或關(guān)閉了瀏覽器,Web服務(wù)器還是會保留與之對應(yīng)的HttpSession對象。隨著時間的推移,這些不再使用的HttpSession對象會在Web服務(wù)器中積累得越來越多,從而使Web服務(wù)器的內(nèi)存耗盡。

  為了解決上述問題,Web服務(wù)器采用了超時限制的辦法判斷客戶端是否還在繼續(xù)訪問。在一定時間內(nèi),如果某個客戶端一直沒有請求訪問,那么Web服務(wù)器就會認(rèn)為該客戶端已經(jīng)結(jié)束請求,并且將與該客戶端會話所對應(yīng)的HttpSession對象變成垃圾對象,等待垃圾收集器將其從內(nèi)存中徹底清除。如果瀏覽器在超時后再次向服務(wù)器發(fā)出請求訪問,那么Web服務(wù)器則會創(chuàng)建一個新的HttpSession對象,并為其分配一個新的ID屬性。

  在會話過程中,會話的有效時間可以在web.xml文件中設(shè)置,其默認(rèn)值由Servlet容器定義。在Timecat安裝目錄的conf文件夾下的web.xml文件中,可以找到如下一段配置信息:

<session-config>
    <session-timeout>30</session-timeout>
</session-config>

  在上面的配置信息中,設(shè)置的時間值以分鐘為單位,即Tomcat服務(wù)器的默認(rèn)會話超時間隔為30分鐘。如果將session-timeout元素中的時間值設(shè)置成0或一個負(fù)數(shù),則表示會話永不超時。由于Tomcat安裝目錄\conf\web.xml文件對站點(diǎn)內(nèi)的所有Web應(yīng)用程序都起作用,因此,如果想單獨(dú)設(shè)置某個Web應(yīng)用程序的會話超時間隔,則需要在相應(yīng)項(xiàng)目的web.xml文件中進(jìn)行設(shè)置。

0 分享到:
和我們在線交談!