【发布时间】:2014-02-03 21:02:44
【问题描述】:
假设我有两个jsp页面Page1.jsp和Page2.jsp。如果我从 Page1.jsp 调用 Page2.jsp。
如何在Page2.jsp中判断这个请求来自Page1.jsp?
我尝试在 Page2.jsp
中使用以下代码request.getRequestURL()
但它给了我Page2.jsp的URL。
【问题讨论】:
假设我有两个jsp页面Page1.jsp和Page2.jsp。如果我从 Page1.jsp 调用 Page2.jsp。
如何在Page2.jsp中判断这个请求来自Page1.jsp?
我尝试在 Page2.jsp
中使用以下代码request.getRequestURL()
但它给了我Page2.jsp的URL。
【问题讨论】:
您必须使用名称为 referer 的标题
request.getHeader( "Referer" );
与许多其他标头信息不同,它不是强制性标头字段。很多时候,您可能在请求中找不到此标头。为了克服这个问题,您需要实现一个替代解决方案,例如传递 from 请求参数来保存 page1 的 URI。
请参考此类alternate solution here的回答。
【讨论】:
<% out.println ( "you came from: " + request.getHeader("Referer") ); %>
【讨论】: