重定向的链接路径

时间:2011-10-07 12:12:31

标签: java servlets redirect path

我正在尝试重定向我的回复,但我被困在链接路径上。

以下命令将我带到tomcat的localhost并在那里搜索页面但是找不到任何内容,如预期的那样。

response.sendRedirect("/myPage.html");

为了解决这个问题,我必须在链接路径中输入我的根文件夹名称(来自webaps的名称),但我认为这不是一个好主意。

response.sendRedirect("/mySite/myPage.html");

为什么会这样?除了getRequestURL()之外还有其他方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

相对重定向网址是相对于当前请求网址(您在浏览器地址栏中看到的网址)。前导/会将您带到域根目录。这种行为是完全可预测和正常的。如果myPage.html与当前请求网址位于同一文件夹中,那么您只需删除潜在客户/

response.sendRedirect("myPage.html");

或者,如果由于当前请求URL可以来自您的webapp中的任何位置而永远无法可靠地预测,那么只需动态地包含上下文路径:

response.sendRedirect(request.getContextPath() + "/myPage.html");