【发布时间】:2011-03-10 06:59:30
【问题描述】:
目前,我正在使用
request.getRequestDispatcher("thePage.html").forward(request, response);
在我的 servlet 中向用户提供新页面。但是 servlet 的 URL 保留在浏览器地址栏中。我希望目标页面的 URL 显示在浏览器地址栏中,而不是初始 servlet URL。我该如何做到这一点?
【问题讨论】:
目前,我正在使用
request.getRequestDispatcher("thePage.html").forward(request, response);
在我的 servlet 中向用户提供新页面。但是 servlet 的 URL 保留在浏览器地址栏中。我希望目标页面的 URL 显示在浏览器地址栏中,而不是初始 servlet URL。我该如何做到这一点?
【问题讨论】:
您可以使用response.sendRedirect("thePage.html"),但该页面需要可直接从 Internet 访问。特别是可以直接访问,无需先进入servlet。它还会产生额外的往返(而转发只是在相同的请求-响应周期内返回结果)。
根据您要执行的操作,您可能还应该查看 Servlet 过滤器以及将任何名称(包括“thePage.html”和路径前缀)关联到 Servlet 的可能性。
【讨论】: