1. 程式人生 > >Servlet實現禁用cookie重寫URL獲取session

Servlet實現禁用cookie重寫URL獲取session

前言

    一個女人讓他的程式設計師丈夫去商店買東西:你去附近的商店買些雞蛋,如果有香蕉的話,買8個回來,這個丈夫買了8個雞蛋回來,他的妻子大吃一驚:你為什麼買了8個雞蛋?! 程式設計師丈夫回答:因為他們有香蕉。

內容

    我們知道在session寫入的時候,在服務端會為session開闢一塊記憶體,用於存放session內容。然後response一個sessionID出來,客戶端向服務端傳送sessionID的時候有兩種方式,存放在cookie裡面或者進行rewriten URL。那麼如果我們把瀏覽器禁掉cookie,就不能通過通過獲取cookie裡面的sessionID來達到獲取session內容這種方式了。下面通過這個demo來說明是怎樣通過URL重寫實現訪問服務端session的。

Demo

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		HttpSession session = request.getSession(true);
		response.getWriter().println("<a href='"+ response.encodeURL(request.getRequestURI().toString()) + "'>UrlRewrite</a>");
  }

小結

    這個沒有成功實現,但也是一種方法,在IE裡面禁用了cookie,真是不知道為什麼還是能夠訪問到,可能試了若干次不知為什麼。

感謝您的寶貴時間···