有一个需求需要在ServletContextListener中获取服务器的端口 这个时候还拿不到request,所以这个方法不行,大家还有没有别的方法可以拿到端口呢,感谢大家
参考How to query the servlet container to obtain effective URL from a ServletContextListener?
public void contextInitialized(ServletContextEvent sce) {
WebAppContext ctx = (WebAppContext) sce.getServletContext();
System.out.println("context Base Path" + ctx.getContextPath());
System.out.println("Getting the port is a bit trickier");
System.out.println("One valid Port = " + ctx.getServer().getConnectors()[0].getPort());
}
有知道的吗,非常感谢。。。。。。java
这个恐怕是动态取不到了,你要自己写个配置文件了,将端口自己写上了吧,菜鸟回答
问题主要是这样的,因为一台服务器上部署了两个应用,需要在启动的时候获取ip和端口来标识应用。不知道大家还有没有别的东西可以获取来区分这两个应用
不可以通过路径去标识应用吗?
你的服务器是linux还是windows的。可以使用命令获取当前所有服务的进程号,然后查询进程占用端口情况。
InetAddress.getLocalHost().getHostAddress() 这个可以获取本机ip。端口号 一般是应用写死的吧 固定的吧