java獲取項目所在服務器的ip地址和端口號(獲取當前ip地址)


不傳參數,直接通過ServletRequestAttributes獲取當前項目所在服務器的端口號和ip地址

public static String getUrl(){
    ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = requestAttributes.getRequest();
    String localAddr = request.getLocalAddr();
    int serverPort = request.getServerPort();
    return "http://"+localAddr +":"+ serverPort;
}

通過 HttpServletRequest 傳參數獲取當前項目所在服務器的端口號和ip地址

 //獲取本地服務器的ip地址和端口號
    public static String getHttpUrl(HttpServletRequest request){
        String localAddr = request.getLocalAddr();
        int serverPort = request.getServerPort();
        return "http://"+localAddr +":"+ serverPort;
    }

Java獲取當前系統的ip地址,端口號從配置文件讀取

@Value("${server.port}")
private int serverPort;

public String getUrl() {
    InetAddress address = null;
    try {
        address = InetAddress.getLocalHost();
    } catch (UnknownHostException e) {
        e.printStackTrace();
    }
    return "http://"+address.getHostAddress() +":"+this.serverPort;
}

tomcat服務器啟動到時候獲取服務器的ip和端口號,本方法在windows系統沒問題,再Linux系統就不行了
    //獲取本地服務器的ip地址和端口號

    public static String getUrl() {
        String serverIp = "";
        String serverPort = "";
        try {
            MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer();
            Set<ObjectName> objectNames = beanServer.queryNames(new ObjectName("*:type=Connector,*"), 
            Query.match(Query.attr("protocol"), Query.value("HTTP/1.1")));
            serverIp = InetAddress.getLocalHost().getHostAddress();
            serverPort = objectNames.iterator().next().getKeyProperty("port");
        } catch (Exception e) {
            e.printStackTrace();
        }
        String ipAndPost = "http://" + serverIp + serverPort;
        return ipAndPost;
    }

 

獲取服務器的ip+端口號

	public static String PathAddress() {
		String strResult = "";
		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder
				.getRequestAttributes()).getRequest();

		StringBuffer strBuf = new StringBuffer();
		strBuf.append(request.getScheme() + "://");
		strBuf.append(request.getServerName() + ":");
		strBuf.append(request.getServerPort() + "");
		strBuf.append(request.getContextPath() + "/");
		strResult = strBuf.toString();// +"FHADMINM/";//加入項目的名稱
		return strResult;
	}

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM