【问题标题】:Get server Port in web application at server start在服务器启动时获取 Web 应用程序中的服务器端口
【发布时间】:2011-05-10 09:32:19
【问题描述】:

我需要在服务器启动时检索服务器信息,例如服务器 IP 和端口。 我在我的项目中使用 Spring 和 hibernet,Glassfish(和 tomcat)是应用程序服务器。

我知道我可以从请求中获取 IP 和端口信息,但是在服务器启动时没有请求。

经过一番搜索,我在网上发现可以检索到IP地址,如下所示:

InetAddress.getLocalHost().getHostName();

但我没有找到任何方法来检索服务器的当前端口。我希望从提供此信息的应用服务器中找到 API。我在我的应用程序中使用 Spring,因此来自 Spring API 的任何指示也会有所帮助。

【问题讨论】:

    标签: java spring tomcat jakarta-ee glassfish


    【解决方案1】:

    你应该在 web.xml 中将端口配置为参数,并使用 ServletContext 在代码中读出它,或者你可以使用 this poor hack

    【讨论】:

      【解决方案2】:

      一台服务器可能正在侦听多个名称的多个端口,因此您无法确定自动选择的那个是您真正想要的。

      问题是你需要的。

      • 如果是在请求中返回 URL,则使用请求中的信息。
      • 如果是使用 ZeroConf 进行日志记录或通知,则考虑编写应用程序服务器特定的代码来询问其配置。
      • 如果所有其他方法都失败,则通过例如显式传递信息。系统属性或 JNDI。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-07-22
        • 2011-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多