java 如何获取请求地址

java 如何获取请求地址

作者:William Gu发布时间:2026-02-09阅读时长:0 分钟阅读次数:8

用户关注问题

Q
在Java中如何获取当前HTTP请求的完整URL?

我想在Java的Web应用中获取用户发起请求的完整URL,该如何实现?

A

使用HttpServletRequest获取完整请求URL

可以通过HttpServletRequest对象的getRequestURL()方法获取请求的完整URL。这个方法返回的是一个StringBuffer,可以通过toString()转换成字符串。例如:

String url = request.getRequestURL().toString();

如果还需要包含请求参数,可以使用getQueryString()方法获取并拼接。

Q
Java中怎样获取HTTP请求的路径部分?

我只想要请求的路径部分,不包括域名和参数,怎么做?

A

利用getRequestURI()方法获取请求路径

可以通过HttpServletRequest的getRequestURI()方法获取请求的路径部分。返回的是请求的URI,例如:/myapp/index.jsp,不包含协议、域名和请求参数。

示例代码:

String path = request.getRequestURI();

Q
如何在Java中判断一个HTTP请求是通过哪个协议发起的?

我想知道请求是通过HTTP还是HTTPS发起的,有什么办法可以在Java程序中获取这个信息?

A

使用HttpServletRequest的getScheme()方法获取协议

HttpServletRequest提供了getScheme()方法,可以返回请求所用的协议,例如'http'或'https'。通过判断此值可以确定请求是通过哪种协议发起的。

代码示例:

String scheme = request.getScheme();
if("https".equalsIgnoreCase(scheme)) {
// 使用了HTTPS
} else {
// 使用HTTP
}