JSP四種會話跟蹤技術

來源:互聯網
上載者:User
轉自:http://blog.sina.com.cn/s/blog_5990faac0100dnfx.html


Cookie

:伺服器在一個應答首部傳遞給瀏覽器的名稱

/
值對。瀏覽器儲存的時間由
cookie
的到期時間屬性來指定。當瀏覽器向某個伺服器
發送一個請求時,它會檢查其儲存的
cookie
,並在請求首部中包含從同一台伺服器上接收到的所有
cookie
Session tracking

:


瀏覽器和伺服器之間不直接傳送所有的狀態資訊,而只是傳遞表示符(
session
ID
)。瀏覽器發送
sessionID,

務器跟蹤與該會話相關聯的所有資訊。傳遞
sessionID
可以通過
cookie

URL
複寫技術,大部分容器都支援這兩種技術。伺服器無法分辨使用者是否關閉了瀏覽器,因此關閉瀏覽器意味
著與先前的會話關聯的所有會話資料都保留在伺服器上,直到會話逾時,伺服器銷毀會話對像。
跟蹤
同一會話中的請求的會話
ID
可以有多種方法,主要有
cookie

url
複寫。 URL

複寫

:把會話
ID
編碼在
URL
中。         
例:
counter.jjsp;jsessionnid=be8d697876787876befdbde898789098980這樣,即使瀏覽器不支援
cookie
,也能夠實現會話跟蹤。對於
URL
複寫,伺服器從請求的
URI
中提取出會話
ID
,並把該請求與
相應的會話關聯起來,然後在訪問會話資料的時候,
JSP
頁面所進行的處理方式就和使用
cookie
跟蹤會話
id
時所使用的方式
完全相同。所以
sesssion
的實現要依靠
cookie

URL
複寫技術。如果想為不支援
cookie
的瀏覽器提供會話跟蹤,就必須使用
<c:url>
行為對應用程式中的所有
URL
進行複寫。這意味著應用程式中的所有頁面(至少是那些帶有對其他頁面引用的頁面)都必須是
JSP
頁面,這樣
頁面引用才能以動態方式進行編碼,如果遺漏了一個
ur
,那麼服務就會失去對會話的跟蹤。 隱藏表單域

:隱藏表單域是將會話ID添加到HTML的隱藏表單中(類型為hidden的input)。重新導向和轉寄可以使用兩種方法來調用另一
個頁面,重新導向和轉寄。i)
                
轉寄:
<jsp:forward
page=”userInfo.jsp”/>轉寄
,JSP
容器將使用一個內部方法來調用目標頁面,新的頁面繼續處理同一個請求,而瀏覽器不會知道這個過程涉
及到了多個頁面。瀏覽器
URL
會保持不變。ii)
               
重新導向
:<c:redirect
url=”userInfo.jsp”/>重新導向與轉寄不同,重新導向時,第一個頁面會通知瀏覽器發送一個新的目標頁面的請求。瀏覽
器所顯示的
URL
會變成新頁面的
URL
。重新導向的速度比轉寄要慢,因為瀏覽器得發出一個新的請求。同時,由於重新導向產生了一個
新的請求,所以經過一次重新導向之後請求範圍內的對象將無法再使用了。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.