Chinaorg

          于千萬人之中,遇見你所遇見的人;于千萬年之中,時(shí)間的無涯荒野里,沒有早一步,也沒有晚一步,剛巧趕上了
          我不去想是否能夠成功,既然選擇了遠(yuǎn)方,便只顧風(fēng)雨兼程; 我不去想,身后會(huì)不會(huì)襲來寒風(fēng)冷雨,既然目標(biāo)是地平線,留給世界的只能是背影
          posts - 20, comments - 6, trackbacks - 0, articles - 0
          通常,會(huì)話管理是通過服務(wù)器將 Session ID 作為一個(gè) cookie 存儲在用戶的 Web 瀏覽器中來唯一標(biāo)識每個(gè)用戶會(huì)話。如果瀏覽器不支持 cookies,或者將瀏覽器設(shè)置為不接受 cookies,我們可以通過 URL 重寫來實(shí)現(xiàn)會(huì)話管理。

            實(shí)質(zhì)上 URL 重寫是通過向 URL 連接添加參數(shù),并把 session ID 作為值包含在連接中。然而,為使這生效,你需要為你的 servlet 響應(yīng)部分的每個(gè)連接添加 session ID 。

             把 session ID 加到一個(gè)連接可以使用一對方法來簡化:response.encodeURL() 使 URL 包含 session ID,如果你需要使用重定向,可以使用 response.encodeRedirectURL () 來對 URL 進(jìn)行編碼。

            encodeURL () 及 encodeRedirectedURL () 方法首先判斷 cookies 是否被瀏覽器支持;如果支持,則參數(shù) URL 被原樣返回,session ID 將通過 cookies 來維持。

            來看下面的例子,兩個(gè) JSP 文件:hello1.jsp 和 hello2.jsp,及它們之間的影響。我們在 hello1.jsp 中簡單的創(chuàng)建一個(gè)會(huì)話,并在 session 中存儲一個(gè)對象實(shí)例。接著用戶可以點(diǎn)擊頁面的連接到達(dá) hello2.jsp。在 hello2.jsp 中,我們從 session 中獲取原先放置的對象并顯示它的內(nèi)容。注意,我們在 hello1.jsp 中調(diào)用了 encodeURL() 方法來獲得 hello2.jsp 的鏈接,使得在瀏覽器停用 cookies 的情況下,session ID 自動(dòng)添加到 URL,hello2.jsp 仍能得到 session 對象。

            首先在啟用 cookies 的情況下運(yùn)行。然后關(guān)閉對 cookie 的支持,重啟瀏覽器,再運(yùn)行一次。每次你都可以看到會(huì)話管理在起作用,并能在頁之間傳遞信息。

          注意,如果你想讓這個(gè)例子能在關(guān)閉了 cookies 的瀏覽器中工作,你的 JSP 引擎必須支持 URL 重寫。


          hello1.jsp


          <%@ page session="true" %>
          <%
          Integer num = new Integer(100);
          session.putValue("num",num);
          String url =response.encodeURL("hello2.jsp");
          %>
          <a href=<%=url%>>hello2.jsp</a>

          hello2.jsp


          <%@ page session="true" %>
          <%
          Integer i= (Integer)session.getValue("num");
          out.println("Num value in session is "+i.intValue());
          %>



          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 类乌齐县| 阿图什市| 于田县| 桑日县| 普安县| 阳东县| 西藏| 旬邑县| 富阳市| 威远县| 高陵县| 锡林郭勒盟| 永春县| 龙州县| 双柏县| 边坝县| 临潭县| 高碑店市| 永春县| 依兰县| 福安市| 凉城县| 出国| 渭南市| 永顺县| 寿宁县| 台南市| 旺苍县| 通辽市| 青海省| 宁阳县| 大荔县| 洛宁县| 大姚县| 图们市| 兴安县| 江口县| 黔西| 孝义市| 靖江市| 东安县|