我正在编写一个代码的任务是检索一个请求的URL或完整路径。我写了下面的代码:
HttpServletRequest request;//obtained from other functions
String uri = request.getRequestURI();
if (request.getQueryString() != null)
uri += "?" + request.getQueryString();
所以,当我浏览http://google.com?q=abc
时,它是正常的(正确的)。但是当我浏览https://google.com
的时候出现了问题。uri
的值为http://google.com:443google.com:443
,因此程序不仅在使用HTTPS
时才会这样做。
request.getRequestURL().toString()
的输出也是一样的。
解决方案是什么?
发布于 2015-12-19 19:35:45
只需使用:
String Uri = request.getRequestURL()+"?"+request.getQueryString();
发布于 2020-03-10 13:21:07
我知道这是一个Java问题,但是如果你使用Kotlin,你可以很好地做到这一点:
val uri = request.run {
if (queryString.isNullOrBlank()) requestURI else "$requestURI?$queryString"
}
https://stackoverflow.com/questions/16675191
复制相似问题