Javaでは、リクエスト元のURLをサーバのルートパスで取得する方法とは

サーバーのルートパスと現在の要求のURLを取得するには、JavaでHttpServletRequestオブジェクトを使用できます. 以下のようにして取得できます.

  1. リクエスト処理メソッドに、HttpServletRequestオブジェクトをパラメータとして追加する。
public void handleRequest(HttpServletRequest request, HttpServletResponse response) {
    // 处理请求的代码
}
  1. HttpServletRequestオブジェクトのメソッドを使用して要求のURLとサーバーのルートパスを取得します。
String requestUrl = request.getRequestURL().toString();
String requestUri = request.getRequestURI();
String contextPath = request.getContextPath();
String serverPath = requestUrl.substring(0, requestUrl.indexOf(contextPath) + contextPath.length());

上記コードでは、request.getRequestURL().toString()で現在のリクエストのURL全体を取得でき、request.getRequestURI()で現在のリクエストのURI(サーバのルートパスを除く)を取得でき、request.getContextPath()でサーバのルートパスを取得できます。

プロトコル、ホスト、ポート番号を含む完全なURLを取得するには、request.getRequestURL().toString() を使用します。相対パスのみを取得する場合は、request.getRequestURI() と request.getContextPath() を使用して結合できます。

bannerAds