使用 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 可以从 session 属性中获取额外的数据。
但是,目标文件可能在另一台服务器上,当然不会共享同一个会话。
有没有其他方法可以重定向到另一个 URL 并传递不在 URL 本身中的额外数据?例如,是否有任何方法可以定义将在 HttpServletRequest 中传递到目标 URL 的附加标头?