物がありますHttpServletRequest
。
この呼び出しがサーブレットに到達する原因となった完全かつ正確な URL を取得するにはどうすればよいですか?
あるいは、おそらく再生成できるもの(パラメータの順序など)もあるため、少なくとも可能な限り正確にします。
ベストアンサー1
の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();
}
}