java中獲取當前服務器的Ip地址


1、tomcat是一款免費的開源Web服務器,如果部署在本地,那么對應的那么為localhost,對應地址為127.0.0.1。

         例子:可以通過http://localhost:8080/項目root值訪問,也可以通過http://127.0.0.1/項目root值訪問。

   如果部署在服務器(linux)系統類,則需要通過服務器的Ip地址進行訪問。

2、下面說說怎么獲取Ip地址:

  獲取本地的Ip地址:

 1 public static void main(String[] args) {
 2       try {
 3              InetAddress address = InetAddress.getLocalHost();//獲取的是本地的IP地址 //PC-20140317PXKX/192.168.0.121
 4              String hostAddress = address.getHostAddress());//192.168.0.121            
 5              InetAddress address1 = InetAddress.getByName("www.wodexiangce.cn");//獲取的是該網站的ip地址,比如我們所有的請求都通過nginx的,所以這里獲取到的其實是nginx服務器的IP地 
 6              String hostAddress1 = address1.getHostAddress());//124.237.121.122 
 7              InetAddress[] addresses = InetAddress.getAllByName("www.baidu.com");//根據主機名返回其可能的所有InetAddress對象 
 8              for(InetAddress addr:addresses){ 
 9              System.out.println(addr);//www.baidu.com/14.215.177.38 
10              //www.baidu.com/14.215.177.37 
11            } 
12         } catch (UnknownHostException e) { 
13              e.printStackTrace();
14       } 
15  }

 獲取服務器的Ip地址(其他人寫的)

 

 1 /**
 2      * 獲取服務器IP地址
 3      * @return
 4      */
 5     @SuppressWarnings("unchecked")
 6     public static String  getServerIp(){
 7         String SERVER_IP = null;
 8         try {
 9             Enumeration netInterfaces = NetworkInterface.getNetworkInterfaces();
10             InetAddress ip = null;
11             while (netInterfaces.hasMoreElements()) {
12                 NetworkInterface ni = (NetworkInterface) netInterfaces.nextElement();
13                 ip = (InetAddress) ni.getInetAddresses().nextElement();
14                 SERVER_IP = ip.getHostAddress();
15                 if (!ip.isSiteLocalAddress() && !ip.isLoopbackAddress()
16                         && ip.getHostAddress().indexOf(":") == -1) {
17                     SERVER_IP = ip.getHostAddress();
18                     break;
19                 } else {
20                     ip = null;
21                 }
22             }
23         } catch (SocketException e) {
24             // TODO Auto-generated catch block
25             e.printStackTrace();
26         }
27     
28         return SERVER_IP;
29     }
30 }

 

基於SSM框架的農業物聯網智能養殖系統中的養殖日志要求上傳一張圖片到服務器中。本地測試時,由於保存的路徑在本地磁盤E中,所以后台直接從本地獲取了資源文件。傳入服務器胡,找不到該文件,估計是IP地址無法獲取到,只有對應的文件路徑,基於此,想設計出從服務器里讀取文件信息,但是並沒有成功。后來發現localhost與127.0.0.1是一致的,就想起了用服務器IP地址代替localhost完成讀取操作,但本質仍然是前台界面的讀取。   、。。。。待完善


免責聲明!

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



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