gpt4 book ai didi

java - Jetty 重定向和上下文路径

转载 作者:行者123 更新时间:2023-12-03 23:11:28 30 4
gpt4 key购买 nike

我有一个在嵌入式 jetty 服务器上运行的应用程序。我已经定义了上下文路径:

ServletContextHandler context =...
context.setContextPath("/dev");

我可以正确访问我的应用 http://application.com:8080/dev

当我像这样使用 HttpServletResponse 的 sendRedirect 函数时:

resp.sendRedirect("/login");

形成的 URL 没有使用应用程序上下文。它正在返回 http://application.com:8080/login insetad of http://application.com:8080/dev/login

如何配置这条路径?

最佳答案

当您使用具有前导“/”的位置调用 sendRedirect() 时,它总是相对于服务器根目录,不是应用程序上下文。为了实现你想要的,你必须自己附加上下文路径,例如:

response.sendRedirect(request.getContextPath() + "/login");

为了让它在所有情况下都能工作,最好对其进行编码:

response.sendRedirect(response.encodeRedirectURL(request.getContextPath() + "/login"));

关于java - Jetty 重定向和上下文路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25070639/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com