欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java獲取服務(wù)器IP及端口的方法實例分析

 更新時間:2018年12月13日 11:43:35   作者:huxiangen  
這篇文章主要介紹了Java獲取服務(wù)器IP及端口的方法,結(jié)合實例形式分析了java針對客戶端及服務(wù)器端各種常見的信息操作技巧與注意事項,需要的朋友可以參考下

本文實例講述了Java獲取服務(wù)器IP及端口的方法。分享給大家供大家參考,具體如下:

前幾天寫過一個獲取遠程服務(wù)器的IP和端口的程序,從網(wǎng)上查了一些資料順便加一些自己的理解,希望對大家有所幫助:

struts2 獲取request

HttpServletRequest requet=ServletActionContext.getRequest();
requet.getScheme()+"://"+requet.getServerName()+":"+requet.getServerPort()

(例如)結(jié)果為:http://localhost:8080/

request.getHeader("User-Agent");  //就是取得客戶端的系統(tǒng)版本
request.getRemoteAddr();  //取得客戶端的IP
request.getRemoteHost()   //取得客戶端的主機名
request.getRemotePort();  //取得客戶端的端口
request.getRemoteUser();  //取得客戶端的用戶
request.getLocalAddr();  //取得服務(wù)器IP
request.getLocalPort();  //取得服務(wù)器端口

1、JSP中獲得當(dāng)前應(yīng)用的相對路徑和絕對路徑

根目錄所對應(yīng)的絕對路徑:request.getRequestURI()
文件的絕對路徑 :application.getRealPath(request.getRequestURI());
當(dāng)前web應(yīng)用的絕對路徑 :application.getRealPath("/");
取得請求文件的上層目錄:new File(application.getRealPath(request.getRequestURI())).getParent()

2 Servlet中獲得當(dāng)前應(yīng)用的相對路徑和絕對路徑

根目錄所對應(yīng)的絕對路徑:request.getServletPath();
文件的絕對路徑 :request.getSession().getServletContext().getRealPath(request.getRequestURI())
當(dāng)前web應(yīng)用的絕對路徑 :servletConfig.getServletContext().getRealPath("/");

ServletContext對象獲得幾種方式:

javax.servlet.http.HttpSession.getServletContext()
javax.servlet.jsp.PageContext.getServletContext()
javax.servlet.ServletConfig.getServletContext()

3.Java類中獲得絕對路徑

根據(jù)java.io.File的Doc文擋,可知: 默認情況下new File("/")代表的目錄為:System.getProperty("user.dir")。

擴展:

上面的獲取IP方法,只能獲取到127.0.0.1,無語

在window下使用

InetAddress.getLocalHost().getHostAddress()

這種方法在linux卻只能取到127.0.0.1這個讓人無奈的地址。。。這簡直是讓人不能忍受的啊。。。這種地址不用獲取,我們誰不知道。。。

在網(wǎng)上搜索了很多,發(fā)現(xiàn)說這個問題的并不多,所以,我把找到的一段代碼分享給大家。。。當(dāng)然這段代碼需要jdk1.5以上版本

Java代碼:

Enumeration<NetworkInterface> netInterfaces = null;
try {
  netInterfaces = NetworkInterface.getNetworkInterfaces();
  while (netInterfaces.hasMoreElements()) {
    NetworkInterface ni = netInterfaces.nextElement();
    System.out.println("DisplayName:" + ni.getDisplayName());
    System.out.println("Name:" + ni.getName());
    Enumeration<InetAddress> ips = ni.getInetAddresses();
    while (ips.hasMoreElements()) {
      System.out.println("IP:"
      + ips.nextElement().getHostAddress());
    }
  }
} catch (Exception e) {
  e.printStackTrace();
}
Enumeration<NetworkInterface> netInterfaces = null;
try {
    netInterfaces = NetworkInterface.getNetworkInterfaces();
    while (netInterfaces.hasMoreElements()) {
        NetworkInterface ni = netInterfaces.nextElement();
        System.out.println("DisplayName:" + ni.getDisplayName());
        System.out.println("Name:" + ni.getName());
        Enumeration<InetAddress> ips = ni.getInetAddresses();
        while (ips.hasMoreElements()) {
            System.out.println("IP:"
            + ips.nextElement().getHostAddress());
        }
    }
} catch (Exception e) {
    e.printStackTrace();
}

這段代碼會輸出計算機中所有設(shè)備的ip,找需要的用吧,呵呵

更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java Socket編程技巧總結(jié)》、《Java文件與目錄操作技巧匯總》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

  • Java實現(xiàn)二叉堆、大頂堆和小頂堆

    Java實現(xiàn)二叉堆、大頂堆和小頂堆

    二叉堆就是完全二叉樹,或者是靠近完全二叉樹結(jié)構(gòu)的二叉樹。大頂堆要求對于一個節(jié)點來說,它的左右節(jié)點都比它?。恍№敹岩髮τ谝粋€節(jié)點來說,它的左右節(jié)點都比它大。本文將用Java分別實現(xiàn)二叉堆、大頂堆和小頂堆。需要的可以參考一下
    2022-01-01
  • MyBatisPlus條件構(gòu)造器圖文實例詳解

    MyBatisPlus條件構(gòu)造器圖文實例詳解

    這篇文章主要介紹了MyBatisPlus條件構(gòu)造器,了解內(nèi)部原理是為了幫助我們做擴展,同時也是驗證了一個人的學(xué)習(xí)能力,如果你想讓自己的職業(yè)道路更上一層樓,這些底層的東西你是必須要會的
    2023-01-01
  • java四種訪問權(quán)限實例分析

    java四種訪問權(quán)限實例分析

    這篇文章主要介紹了java四種訪問權(quán)限實例分析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • 詳解Spring Boot配置文件之多環(huán)境配置

    詳解Spring Boot配置文件之多環(huán)境配置

    本篇文章主要介紹了詳解Spring Boot配置文件之多環(huán)境配置 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 詳解關(guān)于Spring Cloud 框架熱部署的方法

    詳解關(guān)于Spring Cloud 框架熱部署的方法

    本篇文章主要介紹了詳解關(guān)于Spring Cloud 框架熱部署的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 介紹java中Pair(配對)

    介紹java中Pair(配對)

    這篇文章主要介紹了介紹java中Pair(配對),示例描述使用Pair類實現(xiàn)簡單Integer到String的映射,示例中g(shù)etKey方法返回key對象,getValue方法返回對應(yīng)值對象,需要的朋友可以參考下
    2023-03-03
  • Java中可以實現(xiàn)負載均衡的算法詳解

    Java中可以實現(xiàn)負載均衡的算法詳解

    這篇文章主要介紹了Java中可以實現(xiàn)負載均衡的算法詳解,在Java中,有多種算法可以實現(xiàn)負載均衡,下面是兩個常見的算法示例,隨機算法和輪詢算法,需要的朋友可以參考下
    2023-08-08
  • springboot 配置日志 打印不出來sql的解決方法

    springboot 配置日志 打印不出來sql的解決方法

    這篇文章主要介紹了springboot 配置日志 打印不出來sql的解決方法,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下
    2020-11-11
  • 最新評論