gpt4 book ai didi

java - 获取 HttpServletRequest 响应地址

转载 作者:行者123 更新时间:2023-12-02 00:28:47 24 4
gpt4 key购买 nike

我使用ajax脚本向servlet发送请求,servlet又向数据库发送请求,然后当数据库向servlet返回一些数据时,servlet将结果返回到网页。问题是,在另一个页面上再次使用相同的脚本来执行完全相同的操作,只是输出需要不同。

我的想法是确定请求来自哪个页面并使用此信息格式化响应。

我尝试过 HttpServletRequest req.(几乎 API 允许的所有内容)来尝试获取所需的信息,但它似乎没有返回我需要的信息。我可以使用 request.getRequestURL 让它返回 servlet 地址,但我需要该请求源自的网页,而不是发送的网页。

我在这里遗漏了一些明显的东西吗?

最佳答案

有一个名为“Referer”的 HTTP header ,其中包含从哪个页面触发请求的信息。对于 AJAX 请求,此 header 通常包含触发 AJAX 请求的页面的 URL。您可以使用 request.getHeader("Referer") 获取此 header ,因此您可以尝试是否需要。

但是由客户端发送该 header ,因此您不能确定它总是存在。这种方法也可能会导致可维护性问题,例如如果您将网页移动到不同的 URL。因此,参数化 JavaScript 和 servlet 可能是更好的设计,即客户端向 URL 添加一个参数,告诉 servlet 请求来自哪个上下文或预期的输出格式是什么。

关于java - 获取 HttpServletRequest 响应地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9547130/

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