Tomcat运行时获取IP及端口号

直接上代码

        public String getIP(){
        String ip =null;
        InetAddress address;
        try {
            address = InetAddress.getLocalHost();
            ip = address.getHostAddress();
        } catch (Exception e) {
        }
        return ip;
    }
    public String getPort() throws Exception{
        MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer();
        Set<ObjectName> objectNames = beanServer.queryNames(new ObjectName("*:type=Connector,*"), Query.match(Query.attr("protocol"), Query.value("HTTP/1.1")));
        String port = objectNames.iterator().next().getKeyProperty("port");
        return port;
    }

public string getMAC(){
InetAddress address = InetAddress.getLocalHost();
byte[] mac =NetworkInterface.getByInetAddress(address).getHardwareAddress();
StringBuffer sb=new StringBuffer();
for(int i=0;i<mac.length;i++){
if(i!=0){sb.append("-");}
int temp = mac[i]&0xff;
String str = Integer.toHexString(temp);
if(str.length()==1){sb.append("0"+str);}else{
sb.append(str);
}
}
return sb.toString();
}

注意:当获取端口号时,一定得是在容器中运行时才能获取,因为获取端口号是通过查找容器自身的MBean来获取的,离开容器就获取不到对应的MBean,会报空指针异常,同时此思路还能获取容器中所有的应用名、sevlet名等容器运行信息

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,224评论 19 139
  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,719评论 2 56
  • ~陈俊文于2014.03.31 引言:“余余落辉,我爱一彩最美;涓涓潺水,我掬一片最清;回顾走过的树林,我独恋枫叶...
    陈俊文福建通瑞阅读 1,778评论 0 1
  • 文/小叮当 吮吸最后一口空气 黑暗无声吞噬所有知觉 隔断了日月轮转 不言不语随风而去 天上滑落的流星 是谁的眼泪 ...
    罗布泊的小哆啦阅读 1,153评论 0 0
  • 嗨这里是小太阳(・ัε・ั ) 坐标中国湖北黄冈市 一个高一单身女哈士奇໒(✪₩✪)७ 偶尔神经质偶尔假正经的小女...
    梓柒77阅读 1,535评论 1 0

友情链接更多精彩内容