4

在 Java EE 中,如何动态检索应用程序的完整 URL?

例如,如果 URL 是"localhost:8080/myapplication/",我想要一个可以简单地将其返回给我的方法,无论是作为字符串还是其他东西。

我将 GlassFish 作为应用程序服务器运行。

4

2 回答 2

7

在您有权访问的任何 servlet 或过滤器中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 回答