Sky's blog

          我和我追逐的夢

          常用鏈接

          統計

          其他鏈接

          友情鏈接

          最新評論

          誰在創建session(3)-湊熱鬧的webwork標簽

              按照前面的方法,將jsp頁面加入<%@ page session="false"%>之后,發現還是有新的session會意外的蹦出來。仔細檢查action沒有操作session,那這次是誰干的呢?將目光轉回jsp文件,首先來次狠的,將這個jsp文件的內容刪空為只有純html內容。重新運行后發現不會自動生成session,ok,問題在jsp文件里面了。將原來的內容一點點的加回去,反復測試直到session自動創建的問題再次出現, 哈,發現問題出現在webwork的標簽上。

          這次出問題的a.jsp代碼內容為:

          ?<%@ page contentType="text/html; charset=UTF-8" %>
          <%@ page session="false" %>
          <%@taglib prefix="ww" uri="webwork" %>

          <!DOCTYPE html PUBLIC "-//W3C/m/DTD XHTML 1.0 Strict//EN"
                  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
          <ww:i18n name="'msg'">
          <html xmlns="http://www.w3.org/1999/xhtml">
          <head>
          <title></title>
          </head>
          <body>
          <%=1%>
          </body>
          </html>
          </ww:i18n>

          部署到webapp的根目錄,在瀏覽器中直接用http://****/a.jsp訪問,通過抓包工具發現有
          Set-Cookie: JSESSIONID=abclEpuvWZhHD_UWW7WBr; path=/

          將上述文件復制為b.jsp,刪除<ww:i18n>標簽,代碼修改為:

          ?<%@ page contentType="text/html; charset=UTF-8" %>
          <%@ page session="false" %>
          <%@taglib prefix="ww" uri="webwork" %>

          <!DOCTYPE html PUBLIC "-//W3C/m/DTD XHTML 1.0 Strict//EN"
                  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml">
          <head>
          <title></title>
          </head>
          <body>
          <%=1%>
          </body>
          </html>
          再次測試,發現不再創建session,由此可以確認是webwork的標簽所為。

          繼續追蹤為什么webwork的標簽會如此處理,還是google大法,很快在webwork的2.2文檔中發現了這么一段:

          http://wiki.javascud.org/display/ww2cndoc/WebWork+2.2+Migration+Notes

          "session map wrapper (在ActionContext里建立的) 已經改變了不在為每個請求創建session. 如果你的應用程序依賴session會被自動創建,WebWork 2.2已經不在那樣做了.作為替代,你必須自己創建session或者當把一個數據放到session Map里時session會被創建. "

          對照了一下我當前測試的版本, webwork2.1.7,看來是這里了。馬上上webwork的網站下了最新的2.2.6版本,最快速度搭建了一個測試環境。將剛才的a.jsp/b.jsp拉過去測試了以下,ok,果然新的2.2版本修改了原來的做法,不再創建session。搞定!


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

          評論

          # re: 誰在創建session(3)-湊熱鬧的webwork標簽 2007-12-19 20:21 交口稱贊

          好奇樓主這么執著

          session到底怎么惹您了?

          您有什么樣的需求需要這么密切關注session的生成時間?

          看您的意思是不想生成session最好
          為什么?  回復  更多評論   

          主站蜘蛛池模板: 达拉特旗| 龙井市| 濮阳县| 连山| 龙岩市| 虎林市| 西林县| 河北省| 玉环县| 萝北县| 林口县| 商城县| 仁化县| 南召县| 合川市| 大丰市| 南陵县| 镇沅| 乌兰县| 南江县| 旌德县| 天镇县| 汪清县| 同心县| 东至县| 塘沽区| 革吉县| 平度市| 延安市| 余江县| 布拖县| 和林格尔县| 上栗县| 蓬安县| 溧阳市| 秭归县| 桂林市| 岳普湖县| 静安区| 太仓市| 松阳县|