我正在尝试重定向我的响应,但是我被困在链接路径上。
以下命令将我带到tomcat的localhost并在此处搜索页面,但是按预期找不到任何内容。
response.sendRedirect("/myPage.html");
为了解决此问题,我必须将我的根文件夹名称(来自webaps的名称)放在链接路径中,但是我认为这不是一个好主意。
response.sendRedirect("/mySite/myPage.html");
为什么会这样呢?除了getRequestURL()或类似的方法,还有其他解决方法吗?
相对重定向URL相对于当前请求URL(您在浏览器地址栏中看到的URL)。领导/将带您到域根目录。该行为是完全可预测的并且是正常的。如果与myPage.html当前请求URL在同一文件夹中,则只需删除开头/:
/
myPage.html
response.sendRedirect("myPage.html");
或者,如果由于当前请求URL可能来自您的Web应用程序中的任何位置而永远无法可靠地预测,那么只需动态地包含上下文路径即可:
response.sendRedirect(request.getContextPath() + "/myPage.html");