<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sky's blog

    我和我追逐的夢

    常用鏈接

    統計

    其他鏈接

    友情鏈接

    最新評論

    誰在創建session(1)-不恰當的request.getSession()

        在HttpServlet中,HttpSession對象通常在request.getSession(true)方法調用時才創建。HttpSession的使用是有代價的,需要占用服務器資源,本著能不浪費就不浪費的原則,我希望系統中的session都在掌握之中,在需要創建時由我們的代碼明確創建。但是最近在開發中發現,新的session對象經常在意料之外出現,究竟是誰在創建session呢?

        最常見的地方是錯誤的使用request.getSession()函數,通常在action中檢查是否有某個變量/標記存放在session中。這個場景中可能出現沒有session存在的情況,正常的判斷應該是這樣:

    private boolean ifFlagExistInSession(HttpServletRequest request) {
        HttpSession session = request.getSession(false);
        if (session != null) {
            if (session.getAttribute("flagName")  != null) {
                return true;
            }
        }
        return false;
    }

        而下面的寫法,則可能會生成一個新的不在我們意圖之外的session:
    private boolean ifFlagExistInSession(HttpServletRequest request) {
        HttpSession session = request.getSession();   // a new session created if no session exists
        if (session.getAttribute("flagName")  != null) {
            return true;
        }
        return false;
    }

        注意request.getSession() 等同于 request.getSession(true),除非我們確認session一定存在或者sesson不存在時明確有創建session的需要,否則請盡量使用request.getSession(false)。

    posted on 2007-12-19 11:41 sky ao 閱讀(2961) 評論(1)  編輯  收藏 所屬分類: web

    評論

    # re: 誰在創建session(1)-不恰當的request.getSession() 2007-12-19 15:33 隔葉黃鶯

    一般的(可能有些servlet實現不是這樣的),默認的訪問用戶第一次 jsp 頁面就會創建 session 的,因為 jsp 中指令 session 配置為 true,即
    <%@ page session="true"%>

    編譯出來的的 java 文件在 _jspService() 方法中有代碼行(Tomcat是這樣的)

    session = pageContext.getSession();

    除非你顯示設置
    <%@ page session="false"%>
    才會讓你自己 getSession(true)或 getSession()時創建session

    其實創建一個 session 并不耗什么資源,無非就是一個空的map,就是別往里面塞太多的東西,尤其是在集群環境下,會增加同步的負擔。  回復  更多評論   

    主站蜘蛛池模板: 综合亚洲伊人午夜网| 亚洲三区在线观看无套内射| 亚洲视频在线观看视频| 无码人妻丰满熟妇区免费| 亚洲人成在线影院| 免费A级毛片无码A∨中文字幕下载| 亚洲AV人无码综合在线观看| 国产精品99精品久久免费| 青青草原精品国产亚洲av| 午夜性色一区二区三区免费不卡视频| 亚洲欧洲日韩在线电影| 成人免费午夜视频| 美女扒开尿口给男人爽免费视频| 男人的天堂亚洲一区二区三区 | 美女裸免费观看网站| 免费永久看黄在线观看app| 一级日本高清视频免费观看| 亚洲人成网站在线观看播放| 中文字幕免费视频一| 亚洲中文无码a∨在线观看| 成人网站免费观看| 免费无码午夜福利片| 亚洲国产成人片在线观看无码 | 亚洲激情中文字幕| 99久久这里只精品国产免费| 久久亚洲AV成人无码国产电影| 亚洲黄片毛片在线观看| 久久精品乱子伦免费| 亚洲色偷偷色噜噜狠狠99| 亚洲人成人网站在线观看| 久久国产免费观看精品3| 亚洲爆乳无码精品AAA片蜜桃| 亚洲区小说区图片区| 无码精品A∨在线观看免费| 国产成人综合亚洲绿色| 亚洲国产精品成人精品无码区在线| 国产大片线上免费观看| 一区二区视频免费观看| 亚洲另类春色校园小说| 亚洲一区精品伊人久久伊人| 成年人视频免费在线观看|