今天在公司發現了一種實現單視窗的解決方案,在些將它寫出來.以備以後使用....
這裡說的單視窗,我不知道算不算是一種單點登入.也不想去深究,反正我又不是搞理論的,能用,切能用對就ok.管浪多也沒用...是不...呵呵
實現原理很簡單,只是想到的人不多吧.在說之前,先說說要用到那些東西:
1. 標識物件,這是必須的,要不然怎麼去判斷是否是乙個視窗呢?
2. spring的interceptor(***)
3. 快取.
標識物件一定要包含兩樣東西:
1. 唯一標識號,像什麼id呀,username呀之類的
2. httpsession引用,嘿嘿,沒錯就是它.
快取是什麼東西呢?結構是什麼樣的呢?其實就乙個map《標識,物件》物件.
***就直接寫判斷了啦.
現在說說原理.
每個視窗在發出請求後,伺服器都會為該視窗生成乙個session,這個沒錯吧.而這個session是視窗私有的!這是重點.當我們在進行登入的時候,首先就在標識物件裡面把當前的session進行儲存.並用標識號做為key存放在快取中.然後我們每次進行操作的時候就可以在***中根據標識號得到標識物件,然後再判斷這個物件的session是否與當前的session相同,那麼就可以判斷是否是同一視窗了....
關於單鏈表
單鏈表結構體 typedef struct student node 建立單鏈表 node create else p head while cycle else head head next p next null printf n yyy d head data return head 單鏈表測...
關於單例模式
單例模式 只能產生乙個例項物件 思路 不能外部new,只能內部new 構造方法要私有,構造方法私有後只能類自己呼叫 需要將物件 通過類自己的來構造例項 的引用變數設定成static修飾的這樣就屬於類本身,只有乙份,即乙個例項物件 構造的物件需要提供給外部,由於無法new物件來呼叫這個方法,因此需要乙...
關於單件類
主要資料來自於 在ruby中我們可以通過五種方式新增class methods ruby class a def a.meth1 enddef self.meth2 endclass endend class endend def a meth5 endend 從結果來看,四種方式效果是一樣的,但是...