我有一个 HttpServletRequest
对象。
如何获取导致此调用到达我的 servlet 的完整且准确的 URL?
或者至少尽可能准确,因为也许有些东西可以重新生成(也许是参数的顺序)。
最佳答案
HttpServletRequest
有以下方法:
-
getRequestURL()
- 返回查询字符串分隔符?
之前的完整 URL 部分
-
getQueryString()
- 返回查询字符串分隔符?
之后的完整 URL 部分
所以,要获取完整的 URL,只需:
public static String getFullURL(HttpServletRequest request) {
StringBuilder requestURL = new StringBuilder(request.getRequestURL().toString());
String queryString = request.getQueryString();
if (queryString == null) {
return requestURL.toString();
} else {
return requestURL.append('?').append(queryString).toString();
}
}
关于java - HttpServletRequest 完成 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2222238/