4

Java EEで、アプリケーションの完全なURLを動的に取得するにはどうすればよいですか?

たとえば、URLがの場合"localhost:8080/myapplication/"、文字列またはその他のいずれかとして、これを単純に返すことができるメソッドが必要です。

GlassFishをアプリケーションサーバーとして実行しています。

4

2 に答える 2

7

アクセスできるサーブレットまたはフィルタの内部HttpServletRequestでは、クライアントがアプリケーションにアクセスするために使用したURLを確認できます(例:try)HttpServletRequest.getRequestURL()

于 2012-10-08T20:59:36.640 に答える
0

JSFでは、次のヘルパー関数を使用してこれを比較的簡単に実現できました(必要なのはHttpServletRequest:への参照だけです。

public static String getRequestUrl() {
    HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
    StringBuffer requestURL = request.getRequestURL();
    if (request.getQueryString() != null) {
        requestURL.append("?");
        requestURL.append(request.getQueryString());
    }
    return requestURL.toString();
}
于 2018-05-01T09:43:36.067 に答える