Servlet實現禁用cookie重寫URL獲取session
阿新 • • 發佈:2019-02-18
前言
一個女人讓他的程式設計師丈夫去商店買東西:你去附近的商店買些雞蛋,如果有香蕉的話,買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,真是不知道為什麼還是能夠訪問到,可能試了若干次不知為什麼。
感謝您的寶貴時間···