バックグラウンドシステムはセッションの状態をタイミングよくチェックし、セッションが無効になった場合、自動的にログインページにジャンプします.

3173 ワード

この要件は比較的一般的であり,一般的には共通の参照ファイルにjsタイマを加え,セッションの状態をタイミングよくチェックする.
共通ファイルは、一般的にjs、cssファイル、および独自にカプセル化されたjs関数ライブラリなどです.パブリックファイルinclude_common.jspファイルには、次のコードが追加されます.

<script type="text/javascript">
    var sessionCheck = setInterval(function(){
        //   session   
        $.ajax({
            url:'/getCurrentUser',
            type:'post',
            dataType:'json',
            success:function(data){
                if(data.result=='-1'){
                    console.log("session   ");
                    location.href="/";
                }else{
                    console.log("session   ");
                }
            },
            error:function(data){
                console.log("session   ");
                location.href="/";
            }
        });
    },1000*60);

    function clear(){
        clearInterval(sessionCheck);
    }
script>

//     session  
    public void getCurrentUser(){
        String orgCode = getSessionAttr("orgCode");
        Map<String,Object> map = new HashMap<String,Object>();
        if(StrKit.notBlank(orgCode)){
            map.put("result", "0");
        }else{
            map.put("result", "-1");
        }
        renderJson(JsonKit.toJson(map));
    }

ここでsessionCheckはグローバル変数であり,クリアタイミングチェックの関数clearを記述する.プロジェクトのページはincludeを参照しています.common.jspファイル、loginを含む.jspファイル.しかしセッションが無効になったらloginにジャンプしました.jspページ、login.jspページもincludeを参照しています.common.jspページでは、同じくタイミングセッションチェックが実行されるのでlogin.jspページはclear()関数を呼び出し、チェックをクリアします.
専門の壁紙の張り紙の台所の用具の装飾は販売して、私のネットショップは経営します
ブログはあなたに役に立つので、訪問してみてくださいね.訪問の質問量を増やして、必要があれば注文して購入してもいいですよ^^.https://item.taobao.com/item.htm?id=569617707364