我試圖將會話跟蹤功能添加到一個12歲的java web應用程序。其中使用jsp和servlets的MVC模式。如果Cookie被禁用,我們需要使其工作。爲一個12歲的java web應用程序啓用url重寫
我想知道對此應用程序實施會話跟蹤的最佳方式是什麼? :)
當我使用getRequestDispatcher,我需要使用encodeURL嗎?喜歡這個 ?
getRequestDispatcher(res.encodeURL(jspname));
謝謝...
我試圖將會話跟蹤功能添加到一個12歲的java web應用程序。其中使用jsp和servlets的MVC模式。如果Cookie被禁用,我們需要使其工作。爲一個12歲的java web應用程序啓用url重寫
我想知道對此應用程序實施會話跟蹤的最佳方式是什麼? :)
當我使用getRequestDispatcher,我需要使用encodeURL嗎?喜歡這個 ?
getRequestDispatcher(res.encodeURL(jspname));
謝謝...
你需要去通過應用尋找它產生的內部鏈接的地方,並通過HttpServletResponse.encodeUrl()
方法這些鏈接。如果應用程序認爲有必要,這將重寫URL,例如,當檢測到客戶端不支持cookie時。
考慮到應用的時代,你可能不得不這樣做硬盤的方式,即使用JSP表達式,如:
<a href="<% response.encodeUrl("/link") %>">
如果JSTL是一個選項,那麼<c:url>
使URL重寫稍微容易。
有一個疑問,當我使用getRequestDispatcher,我需要使用encodeURL嗎?喜歡這個 ? getRequestDispatcher(res.encodeURL(jspname)); – coder247 2010-02-19 10:21:55
不,你不需要。它不會創建* new *請求。它只是重用當前請求的另一個來源。然而你需要爲'response.sendRedirect()'和'response.encodeRedirectURL()'做。 – BalusC 2010-02-19 11:10:39