Java 在发出请求之前,了解tomcat正在哪个端口上运行

Java 在发出请求之前,了解tomcat正在哪个端口上运行,java,tomcat7,servletcontextlistener,Java,Tomcat7,Servletcontextlistener,我有一个简单的类“StarterClass”,它实现了javax.servlet.ServletContextListener。它是ServletContextListener类的重写方法,即contextInitialized(),我想知道Tomcat在哪个端口上运行。这里的主要目的是为这个tomcat找到一些独特的东西,我认为这是一个端口,因为可以有更多的tomcat运行在一台机器上,但是使用不同的端口 如果这个问题已经回答了,我很抱歉,但是我找不到它 提前感谢。识别您正在运行的Tomcat

我有一个简单的类“StarterClass”,它实现了javax.servlet.ServletContextListener。它是ServletContextListener类的重写方法,即contextInitialized(),我想知道Tomcat在哪个端口上运行。这里的主要目的是为这个tomcat找到一些独特的东西,我认为这是一个端口,因为可以有更多的tomcat运行在一台机器上,但是使用不同的端口

如果这个问题已经回答了,我很抱歉,但是我找不到它


提前感谢。

识别您正在运行的Tomcat如何帮助您的应用程序?我相信无论你想做什么,都可能有更好的方法。嗨,拉维,谢谢你的回答,我必须为这个tomcat创建一个唯一的名称,并使用IPC将它发送给其他模块,所以我计划使用MAC id和tomcat端口来命名。另一个模块中的基本情况是,它跟踪这个tomcat实例,这样它就可以向这个tomcat发送消息,告诉它什么时候应该停止接收请求。我建议在web.xml中配置唯一id,并使它作为全局servlet上下文属性在整个应用程序中可用。因为,标识符几乎不会改变,配置它比每次计算它更有意义。再次感谢,但这可能不适合这里,因为有一个相同的war副本可以部署在同一台机器或不同的机器上,如果我输入web.xml,它们都会发送相同的唯一id,这是一个问题。对于可以部署在相同或不同机器上的每个war,此id必须是唯一的,因此我决定使用mac id和端口。通过配置,我的意思是,您将为不同的安装设置不同的标识符作为一次性部署活动(无论是否在同一机器上)。