URL を完了するための HttpServletRequest 質問する

URL を完了するための HttpServletRequest 質問する

物があります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();
    }
}

おすすめ記事