当前位置: 首页 > 面试题库 >

重定向的链接路径

满伟彦
2023-03-14
问题内容

我正在尝试重定向我的响应,但是我被困在链接路径上。

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

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

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

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

为什么会这样呢?除了getRequestURL()或类似的方法,还有其他解决方法吗?


问题答案:

相对重定向URL相对于当前请求URL(您在浏览器地址栏中看到的URL)。领导/将带您到域根目录。该行为是完全可预测的并且是正常的。如果与myPage.html当前请求URL在同一文件夹中,则只需删除开头/

response.sendRedirect("myPage.html");

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

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


 类似资料:
  • 我正在使用Java,我想向URL发送请求,然后获取重定向到的URL。 我想解决方案,如果它包括使用HttpClient和请求,因为我已经使用了过去。

  • 似乎有一些关于使用什么的混淆:

  • 英文原文:http://emberjs.com/guides/routing/redirection/ 过渡与重定向 在路由中调用transitionTo或者在控制器中调用transitionToRoute,将停止当前正在进行的过渡,并开启一个新的,这也用作重定向。transitionTo具有参数,其行为与link-to助手相同。 如果过渡到一个没有动态段的路由,路由的model钩子始终都会运行。

  • 问题内容: 如果请求用户未通过身份验证,我想发送401的响应代码,但是当请求是HTML请求时,我也想重定向。我发现Express 4不允许这样做: 有谁知道解决这个问题的方法吗?这可能不是Express的限制,因为我要求本质上传递两个标头,但是我不知道为什么会这样。我应该能够传递“未经身份验证”的响应,并一次性重定向用户。 问题答案: 发送新位置标头的方法存在一些细微的差异。 与: 与和: 与原始

  • 我一直试图做一个简单的重定向到按钮点击的另一个组件,但由于某种原因,它不起作用。我想重定向到/dashboard并从登录显示AdminServices,如下所示: //索引。js //应用程序。js //登录。js //管理服务。js

  • Navigating Programmatically