Java EE的:如何让我的应用程序的网址是什么?(Java EE: how to get the

2019-09-23 17:58发布

在Java EE,我怎么能动态地检索我的应用程序的完整网址?

例如,如果URL是"localhost:8080/myapplication/" ,我想这可以简单地返回这个对我来说,无论是作为一个字符串或别的东西的方法。

我正在运行的GlassFish作为应用服务器。

Answer 1:

内部的任何servlet或过滤您可以访问HttpServletRequest ,它允许您查看使用了哪些URL由客户端来访问你的应用程序,例如尝试HttpServletRequest.getRequestURL()



Answer 2:

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


文章来源: Java EE: how to get the URL of my application?
标签: java java-ee