返回客户端页面

时间:2014-03-06 13:42:47

标签: java servlets

在我的网站中,我正在使用servlet服务器。处理完请求后,我想回到发出请求的页面。我该怎么做?

我使用过“response.sendRedirect(request.getParameter(”url“));”但我得到一个空白页而不是发出请求的页面。

我将感谢所有将来的帮助。

2 个答案:

答案 0 :(得分:0)

您可以使用referer HTTP标头:

public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
  String ref = request.getHeader("referer");
  response.sendRedirect(ref);
}

但请记住,referer标头是可选的,某些浏览器客户端可能不会发送它。

答案 1 :(得分:0)

您正在转换应用程序。您可以设计一种策略,通过该策略将作为请求源的页面标识给servlet。

似乎有很多方法可以做到这一点。以下是一些:

  1. 如果servlet仅响应来自单个页面的请求,则对servlet中的返回页面进行硬编码。
  2. 在请求中包含一个列出返回页面的参数。例如< input type =“hidden”name =“returntopage”value =“blammy.jsp”/>。这不是一个很好的技术,因为它很容易入侵。
  3. 在请求中包含标识返回页面的参数。例如< input type =“hidden”name =“returntopage”value ='$ {Blammy.getReturnToPageIdentifier(“blammy.jsp”)'>据推测,getReturnToPageIdentifier将访问会话中的地图并将页面名称转换为某个标识符。然后,servlet将获取标识符,引用地图并获取页面名称。这很难被破解,因为您可以在加载时(或每个会话)生成标识符,因此标​​识符会随着时间的推移而变化。
  4. 在请求中包含标识源页面的参数。 (类似于上面的选项2和3,但是源页面)。 servlet可以根据源页面决定要转换到的页面。