1. 程式人生 > >看透springmvc(一)

看透springmvc(一)

servlet流程

一、按照b/s架構解釋相關知識:

由於http是無狀態、無連線的,上一次與下一次的狀態不能儲存;但是又為了避免每次都在登入的時候,都把上次的狀態帶過去,延伸出來了cookies,由於cookie(getParameter從browser取)存在偽造的風險、在server端,添加了session(getAttribute())來記錄每一次的會話,並在會話開啟的時候做出驗證;這也是servlet最重要的過程:filter,做許可權驗證,(非電商等專案)

業務中常用的監聽器、過濾器屬於servlet流程;

二、作用:

2.1監聽器概述
這裡寫圖片描述
Session資料的鈍化與活化:

  由於session中儲存大量訪問網站相關的重要資訊,因此過多的session資料就會伺服器效能的下降,佔用過多的記憶體。因此類似資料庫物件的持久化,web容器也會把不常使用的session資料持久化到本地檔案或者資料中。這些都是有web容器自己完成,不需要使用者設定。

  不用的session資料序列化到本地檔案中的過程,就是鈍化;

  當再次訪問需要到該session的內容時,就會讀取本地檔案,再次放入記憶體中,這個過程就是活化。

  類似的,只要實現HttpSeesionActivationListener介面就是實現鈍化與活化事件的監聽
https://blog.csdn.net/panhaigang123/article/details/78760081


2.2 監聽器使用

線上人數監測:每一個線上人數,代表了一個session,所以實現servletcontextListener(每次服務重新發布或者銷燬時,寫入servletcontext ——在request中取出的就是服務的跟地址 )
httpSessionListener(每一個瀏覽器,進入網頁的時候,在服務端生成session的時候被監聽——如果訪問的是靜態資源則不會被寫入,並建立唯一的session)
ServletRequestSession
https://blog.csdn.net/panhaigang123/article/details/78760081介紹