<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,就是別往里面塞太多的東西,尤其是在集群環境下,會增加同步的負擔。  回復  更多評論   

    主站蜘蛛池模板: 免费国产黄网站在线观看| 美女黄网站人色视频免费| 日韩免费人妻AV无码专区蜜桃 | 久久久久久a亚洲欧洲aⅴ| 在线看片免费人成视频久网下载 | 亚洲av日韩av高潮潮喷无码| a级毛片免费播放| 亚洲第一精品福利| xxxxx免费视频| 亚洲小说图区综合在线| 国产精品色午夜免费视频| 日韩毛片一区视频免费| 久久久久亚洲av成人无码电影| 久久久久久久久久免免费精品 | 亚欧免费一级毛片| 91嫩草亚洲精品| 麻豆国产精品入口免费观看| 欧洲精品码一区二区三区免费看| 久久亚洲国产成人精品无码区| 免费看搞黄视频网站| 亚洲一级高清在线中文字幕| 国产精品酒店视频免费看| 国产va免费观看| 久久亚洲精品无码aⅴ大香| 免费看AV毛片一区二区三区| 一级做受视频免费是看美女| 久久精品亚洲中文字幕无码网站 | 亚洲中文字幕无码av在线| 国产一区二区三区在线观看免费 | 三年在线观看免费观看完整版中文 | 美女视频黄a视频全免费网站色窝 美女被cao网站免费看在线看 | 久久精品国产亚洲夜色AV网站| 1000部免费啪啪十八未年禁止观看| 亚洲一区二区三区播放在线| 免费女人18毛片a级毛片视频| a级特黄毛片免费观看| 亚洲香蕉久久一区二区| 亚洲精品国产自在久久| 免费人成网站在线观看10分钟| 日韩色日韩视频亚洲网站| 亚洲AV福利天堂一区二区三|