Java 获取HttpServletRequest响应地址

Java 获取HttpServletRequest响应地址,java,ajax,servlets,Java,Ajax,Servlets,我使用ajax脚本向servlet发送请求,servlet反过来向数据库发送请求,然后当数据库向servlet返回一些数据时,servlet将结果返回到web页面。问题是,在另一个页面上再次使用相同的脚本执行完全相同的操作,只是输出需要不同 我的想法是确定请求来自哪个页面,并使用这些信息格式化响应 我尝试了HttpServletRequest-req(API允许的几乎所有功能)来尝试获取所需信息,但它似乎没有返回我需要的信息。我可以使用request.getRequestURL让它返回servl

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

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

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


我是否遗漏了一些明显的信息?

有一个名为“Referer”的HTTP头,其中包含触发请求的页面信息。对于AJAX请求,此标头通常包含触发AJAX请求的页面的URL。您可以使用request.getHeader(“Referer”)获取这个头,所以如果您需要的话,可以尝试一下


但这取决于客户端发送该头,因此您无法确定它是否始终存在。这种方法也可能导致可维护性问题,例如,如果您将网页移动到其他URL。因此,将JavaScript和servlet参数化可能是更好的设计,即客户端向URL添加一个参数,告知servlet请求来自哪个上下文或预期的输出格式。

有一个称为“Referer”的HTTP头包含从哪个页面触发请求的信息。对于AJAX请求,此标头通常包含触发AJAX请求的页面的URL。您可以使用request.getHeader(“Referer”)获取这个头,所以如果您需要的话,可以尝试一下


但这取决于客户端发送该头,因此您无法确定它是否始终存在。这种方法也可能导致可维护性问题,例如,如果您将网页移动到其他URL。因此,将JavaScript和servlet参数化可能是更好的设计,也就是说,客户端向URL添加一个参数,告诉servlet请求来自哪个上下文或预期的输出格式。

在ajax调用中设置一个页面特定的参数?或者对两个请求使用不同的URL。在ajax调用中设置一个页面特定的参数?或者对两个请求使用不同的URL。这很简单正是我想要的。多谢了,这正是我要找的。谢谢