Sky's blog

          我和我追逐的夢

          常用鏈接

          統計

          其他鏈接

          友情鏈接

          最新評論

          resin采用url rewrite來傳遞jsessionid

          前段時間做公司前臺方案的技術探索時,涉及到jsseionid的傳遞,期間嘗試使用resin自己的url rewrite功能來傳遞jsessionid參數,總結如下:

          一) 默認的jsessionid

          默認配置中,jsessionid以cookie的方式在頁面傳遞,即在http請求的header中有以下內容:

          Cookie: JSESSIONID=abcrmF3Gx-5Z-hhkgHfzr

          此時resin/conf/resin.conf中的配置為默認的:
          <session-config>
          <enable-url-rewriting>false</enable-url-rewriting>
          </session-config>

          二)使用url rewrite傳遞jsessionid

          將jsessionid放到url中,這樣可以不使用cookie。
          不使用cookie,可以避免遭遇用戶禁用cookie的情況。另外,有安全性方面的考慮。

          使用url rewrite有兩種方式:

          1. http://***/wmail/welcome.action;jsessionid=abcLFJLwoeurlsjdlf?...
          這種是將jsessionid放在action后面

          需要修改resin/conf/resin.conf中的配置為:
          <session-config>
          <enable-cookies>false</enable-cookies>
          <enable-url-rewriting>true</enable-url-rewriting>
          </session-config>

          2. http://***/~jid=abcLFJLwoeurlsjdlf/wmail/welcome.action?...

          除了要按照前面的同樣修改resin/conf/resin.conf中的配置為:
          <session-config>
          <enable-cookies>false</enable-cookies>
          <enable-url-rewriting>true</enable-url-rewriting>
          </session-config>

          還要在resin/conf/resin.conf中增加alternate-session-url-prefix的設置:
          <server>
          <class-loader>...</class-loader>
          <alternate-session-url-prefix>/~jid=</alternate-session-url-prefix>
          ......

          注意alternate-session-url-prefix的位置,不是在<session-config>里面

          測試中發現,按照這種方式配置后,url被重寫為
          http://***/~jid=abcLFJLwoeurlsjdlf/wmail/welcome.action?...

          在瀏覽器中訪問會產生http 404 file not found 錯誤,經反復檢查(吐血的經歷),發現需要修改resin/conf/resin.conf中的配置:

          <server>
          ......
          <host id="" root-directory=".">
          <!--
          <web-app id="/" document-directory="webapps/ROOT"/>
          -->
          </host>
          </server>
          將<web-app id="/" document-directory="webapps/ROOT"/>的設置屏蔽后才能正常訪問
          http://***/~jid=abcLFJLwoeurlsjdlf/wmail/welcome.action?...
          這樣的地址。

          posted on 2007-12-05 15:49 sky ao 閱讀(2771) 評論(0)  編輯  收藏 所屬分類: web

          主站蜘蛛池模板: 灌云县| 邯郸市| 应用必备| 新密市| 揭东县| 揭阳市| 彰化县| 缙云县| 明水县| 东辽县| 玉环县| 襄汾县| 文安县| 涞水县| 屏边| 怀仁县| 靖边县| 化州市| 玉山县| 桐庐县| 建水县| 昌邑市| 玉田县| 开平市| 庆云县| 凤翔县| 泰来县| 柳江县| 太保市| 平潭县| 沙河市| 齐河县| 洪雅县| 澄城县| 黎城县| 永和县| 冀州市| 北票市| 调兵山市| 永清县| 任丘市|