gpt4 book ai didi

java - Java根据用户名进行url重定向

转载 作者:太空宇宙 更新时间:2023-11-04 12:53:11 25 4
gpt4 key购买 nike

我需要根据url中的用户名重定向url。

假设 url 的形式为

获取http://192.168.2.0/user1/app/node-id/info

那么,

它应该将此网址重定向到不同的服务器,例如,

获取http://192.168.2.1/app/node-id/info

客户端应该不知道它正在被重定向。他/她应该看到相同的 url,但响应应该来自 Json 或 html 格式的重定向 url。

我们可以通过请求转发来执行此操作。

每个地方我都能看到servlet方式的解决方案。 Spring 的最佳方法是什么?

最佳答案

Java servlet 具有重定向和转发方法。它们之间的区别在 here 上有解释。您可以按如下方式使用它们;重定向更改 url,但转发会在内部处理请求。

如果您想将用户重定向到远程 URL,请检查 this Q&A也许要在不更改浏览器地址的情况下进行重定向,最简单的方法是使用 url 读取它并将其写入 servlet 上的响应

private void redirect(ResponsePage aDestinationPage, HttpServletResponse aResponse) throws IOException {
String urlWithSessionID = aResponse.encodeRedirectURL(aDestinationPage.toString());
aResponse.sendRedirect( urlWithSessionID );
}

private void forward(ResponsePage aResponsePage, HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletException, IOException {
RequestDispatcher dispatcher = aRequest.getRequestDispatcher(aResponsePage.toString());
dispatcher.forward(aRequest, aResponse);
}

此外,对于 URL 地址上的用户名,您还可以使用 filters并按照您的意愿重定向它们。如需使用带过滤器的 Spring ,请检查herehere

关于java - Java根据用户名进行url重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35629836/

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