Tomcat:
public static String getServerPort(boolean secure) throws AttributeNotFoundException, InstanceNotFoundException, MBeanException, ReflectionException { MBeanServer mBeanServer = null; if (MBeanServerFactory.findMBeanServer(null).size() > 0) { mBeanServer = (MBeanServer)MBeanServerFactory.findMBeanServer(null).get(0); } if (mBeanServer == null) { System.out.println("调用findMBeanServer查询到的结果为null"); return ""; } Set<ObjectName> names = null; try { names = mBeanServer.queryNames(new ObjectName("Catalina:type=Connector,*"), null); } catch (Exception e) { return ""; } Iterator<ObjectName> it = names.iterator(); ObjectName oname = null; while (it.hasNext()) { oname = (ObjectName)it.next(); String protocol = (String)mBeanServer.getAttribute(oname, "protocol"); String scheme = (String)mBeanServer.getAttribute(oname, "scheme"); Boolean secureValue = (Boolean)mBeanServer.getAttribute(oname, "secure"); Boolean SSLEnabled = (Boolean)mBeanServer.getAttribute(oname, "SSLEnabled"); if (SSLEnabled != null && SSLEnabled) {// tomcat6开始用SSLEnabled secureValue = true;// SSLEnabled=true但secure未配置的情况 scheme = "https"; } if (protocol != null && ("HTTP/1.1".equals(protocol) || protocol.contains("http"))) { if (secure && "https".equals(scheme) && secureValue) { return ((Integer)mBeanServer.getAttribute(oname, "port")).toString(); } else if (!secure && !"https".equals(scheme) && !secureValue) { return ((Integer)mBeanServer.getAttribute(oname, "port")).toString(); } } } return ""; }
Weblogic参考:
http://blog.csdn.net/yunzhu666/article/details/8662039