gpt4 book ai didi

java - Jersey:如何在不更改地址栏中的 URL 的情况下重定向/转发

转载 作者:行者123 更新时间:2023-11-30 03:46:13 25 4
gpt4 key购买 nike

我正在使用 Jerysey 的 JAX-RS 实现来编写 REST API。我处理 get 请求的 POJO 最终将其转发到 JSP。一切正常,问题是转发导致浏览器地址栏中的 URL 更改为请求转发到的 URL。如何在地址栏中不更改此 URL 的情况下进行重定向?目前,我尝试了4种不同的方法:

返回Response.seeOther(uri).build(),

返回Response.temporaryRedirect(uri),

//抛出异常:抛出新的WebApplicationException(响应),

返回Response.status(303).location(uri).build();

最佳答案

这听起来不像 Jersey 问题本身。 Jersey 正在尽其所能来接收请求,进行一些处理,并返回您期望的响应。

这听起来更像是 servlet 容器问题。为什么不希望浏览器中的 url 发生变化?

Restful 服务可以(并且应该)在不关心模板/JSP/消费者的情况下构建。看一下像 RestAssured 这样的库,为您的工作编写一些测试,您会发现它的行为符合预期。

考虑使用 REST 客户端对您的服务直接发出 HTTP 请求,而不是渲染到 JSP。

如果您希望 URL 保持不变,请考虑使用 AJAX 库(JQuery 或其他基于 Javascript 的解决方案)进行 http 调用。

希望对您有所帮助!

关于java - Jersey:如何在不更改地址栏中的 URL 的情况下重定向/转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25634481/

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