簡體   English   中英

Java EE:如何獲取應用程序的URL?

[英]Java EE: how to get the URL of my application?

在Java EE中,如何動態檢索應用程序的完整URL?

例如,如果URL是"localhost:8080/myapplication/" ,那么我想要一個可以簡單地以String或其他形式返回給我的方法。

我正在運行GlassFish作為應用程序服務器。

在任何servlet或過濾器中,您都可以訪問HttpServletRequest ,它使您可以查看客戶端用來訪問您的應用程序的URL,例如,嘗試HttpServletRequest.getRequestURL()

在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();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM