使用JSP,我需要在做一些基本檢查後重定向到另一個頁面。目標網址需要提供一些額外的數據(與進行的檢查相關)。一個顯而易見的方法是:使用位置標題重定向URL,傳遞其他數據
String extraData = [calculate extra data];
response.setHeader("Loction", "target.jsp?extradata=" + extraData);
但是,我不想在瀏覽器的地址框中向用戶公開額外的數據。
因爲這一切都是在JSP中,另一種選擇是設置一個會話屬性:
String extraData = [calculate extra data];
session.setAttribute("extradata", extraData);
response.setHeader("Location", "target.jsp");
然後target.jsp可以從會話屬性的額外數據。
但是,目標文件可能位於另一臺服務器上,當然這不會共享相同的會話。
是否有一些其他方式可以重定向到另一個URL並傳遞額外的數據而不是URL本身?例如,是否有任何方法可能定義將在HttpServletRequest中傳遞到目標URL的附加頭文件?
非常感謝您的回覆。不幸的是,目標頁面位於不同的應用程序中,因此標題不能通過。我懷疑我將不得不通過URL傳遞數據。 – cliveb
將數據作爲參數傳遞將是最簡單的解決方案,如果數據不敏感,則不應該是個問題。順便說一句,如果你想出了一個更好的解決方案,在這裏發佈,我很想知道它。 – Alex