java中獲取當(dāng)前服務(wù)器的Ip地址的方法
1、tomcat是一款免費(fèi)的開源Web服務(wù)器,如果部署在本地,那么對應(yīng)的那么為localhost,對應(yīng)地址為127.0.0.1。
例子:可以通過http://localhost:8080/項目root值訪問,也可以通過http://127.0.0.1/項目root值訪問。
如果部署在服務(wù)器(linux)系統(tǒng)類,則需要通過服務(wù)器的Ip地址進(jìn)行訪問。
2、下面說說怎么獲取Ip地址:
獲取本地的Ip地址:
public static void main(String[] args) { try { InetAddress address = InetAddress.getLocalHost();//獲取的是本地的IP地址 //PC-20140317PXKX/192.168.0.121 String hostAddress = address.getHostAddress());//192.168.0.121 InetAddress address1 = InetAddress.getByName("www.wodexiangce.cn");//獲取的是該網(wǎng)站的ip地址,比如我們所有的請求都通過nginx的,所以這里獲取到的其實是nginx服務(wù)器的IP地 String hostAddress1 = address1.getHostAddress());//124.237.121.122 InetAddress[] addresses = InetAddress.getAllByName("www.baidu.com");//根據(jù)主機(jī)名返回其可能的所有InetAddress對象 for(InetAddress addr:addresses){ System.out.println(addr);//www.baidu.com/14.215.177.38 //www.baidu.com/14.215.177.37 } } catch (UnknownHostException e) { e.printStackTrace(); } }
獲取服務(wù)器的Ip地址(其他人寫的)
/** * 獲取服務(wù)器IP地址 * @return */ @SuppressWarnings("unchecked") public static String getServerIp(){ String SERVER_IP = null; try { Enumeration netInterfaces = NetworkInterface.getNetworkInterfaces(); InetAddress ip = null; while (netInterfaces.hasMoreElements()) { NetworkInterface ni = (NetworkInterface) netInterfaces.nextElement(); ip = (InetAddress) ni.getInetAddresses().nextElement(); SERVER_IP = ip.getHostAddress(); if (!ip.isSiteLocalAddress() && !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == -1) { SERVER_IP = ip.getHostAddress(); break; } else { ip = null; } } } catch (SocketException e) { // TODO Auto-generated catch block e.printStackTrace(); } return SERVER_IP; } }
基于SSM框架的農(nóng)業(yè)物聯(lián)網(wǎng)智能養(yǎng)殖系統(tǒng)中的養(yǎng)殖日志要求上傳一張圖片到服務(wù)器中。本地測試時,由于保存的路徑在本地磁盤E中,所以后臺直接從本地獲取了資源文件。傳入服務(wù)器胡,找不到該文件,估計是IP地址無法獲取到,只有對應(yīng)的文件路徑,基于此,想設(shè)計出從服務(wù)器里讀取文件信息,但是并沒有成功。后來發(fā)現(xiàn)localhost與127.0.0.1是一致的,就想起了用服務(wù)器IP地址代替localhost完成讀取操作,但本質(zhì)仍然是前臺界面的讀取。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java如何使用遞歸查詢多級樹形結(jié)構(gòu)數(shù)據(jù)(多級菜單)
這篇文章主要介紹了Java如何使用遞歸查詢多級樹形結(jié)構(gòu)數(shù)據(jù)(多級菜單),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07Java數(shù)據(jù)結(jié)構(gòu)之優(yōu)先級隊列(PriorityQueue)用法詳解
優(yōu)先級隊列是一種先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),操作的數(shù)據(jù)帶有優(yōu)先級,這種數(shù)據(jù)結(jié)構(gòu)就是優(yōu)先級隊列(PriorityQueue)。本文將詳細(xì)講講Java優(yōu)先級隊列的用法,感興趣的可以了解一下2022-07-07Java數(shù)據(jù)結(jié)構(gòu)之線段樹詳解
線段樹是一種二叉搜索樹,與區(qū)間樹相似,它將一個區(qū)間劃分成一些單元區(qū)間,每個單元區(qū)間對應(yīng)線段樹中的一個葉結(jié)點(diǎn)。本文將介紹線段樹的Java實現(xiàn)代碼,需要的可以參考一下2022-01-01java 實現(xiàn)Comparable接口排序,升序、降序、倒敘
這篇文章主要介紹了java 實現(xiàn)Comparable接口排序,升序、降序、倒敘,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08mybatis 返回Integer,Double,String等類型的數(shù)據(jù)操作
這篇文章主要介紹了mybatis 返回Integer,Double,String等類型的數(shù)據(jù)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11java判斷某個點(diǎn)是否在所畫多邊形/圓形內(nèi)
這篇文章主要為大家詳細(xì)介紹了java判斷某個點(diǎn)是否在所畫多邊形或圓形內(nèi)的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05Java中獲取?List中最后一個元素3種方法以及實際應(yīng)用
這篇文章主要給大家介紹了關(guān)于Java中獲取?List中最后一個元素3種方法以及實際應(yīng)用的相關(guān)資料,由于List的索引是從0開始的,所以最后一個元素的索引是List的大小減1,需要的朋友可以參考下2023-11-11Java ScheduledExecutorService的具體使用
ScheduledExecutorService有線程池的特性,也可以實現(xiàn)任務(wù)循環(huán)執(zhí)行,本文主要介紹了Java ScheduledExecutorService的具體使用,具有一定的參考價值,感興趣的可以了解一下2023-05-05