[英]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.