最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

前幾天寫過一個獲取遠(yuǎn)程服務(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()   //取得客戶端的主機(jī)名
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文擋,可知: 默認(rèn)情況下new File("/")代表的目錄為:System.getProperty("user.dir")。

擴(kuò)展:

上面的獲取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();
}

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

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

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

相關(guān)文章

  • 詳解SpringBoot中Controller接收對象列表實(shí)現(xiàn)

    詳解SpringBoot中Controller接收對象列表實(shí)現(xiàn)

    這篇文章主要介紹了詳解SpringBoot中Controller接收對象列表實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Mybatis?Web中的數(shù)據(jù)庫操作方法舉例詳解

    Mybatis?Web中的數(shù)據(jù)庫操作方法舉例詳解

    Mybatis是一款優(yōu)秀的持久化框架,用于簡化JDBC的開發(fā),下面這篇文章主要給大家介紹了關(guān)于Mybatis?Web中數(shù)據(jù)庫操作方法的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • Netty核心功能之?dāng)?shù)據(jù)容器ByteBuf詳解

    Netty核心功能之?dāng)?shù)據(jù)容器ByteBuf詳解

    這篇文章主要為大家介紹了Netty核心功能之?dāng)?shù)據(jù)容器ByteBuf詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Spring Bean的實(shí)例化之屬性注入源碼剖析過程

    Spring Bean的實(shí)例化之屬性注入源碼剖析過程

    本篇文章主要就是分析Spring源碼剖析-Bean的實(shí)例化-屬性注入的相關(guān)知識,通過本文學(xué)習(xí)AbstractAutowireCapableBeanFactory#populateBean 方法的主要功能就是屬性填充,感興趣的朋友跟隨小編一起看看吧
    2021-06-06
  • Java servlet通過事件驅(qū)動進(jìn)行高性能長輪詢詳解

    Java servlet通過事件驅(qū)動進(jìn)行高性能長輪詢詳解

    這篇文章主要介紹了基于servlet3.0+事件驅(qū)動實(shí)現(xiàn)高性能長輪詢的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2022-06-06
  • springboot單獨(dú)在指定地方輸出sql的方法

    springboot單獨(dú)在指定地方輸出sql的方法

    一般線上項(xiàng)目都是將日志進(jìn)行關(guān)閉,因?yàn)閙ybatis日志打印,時間長了,會占用大量的內(nèi)存,如果我想在我指定的地方進(jìn)行打印sql情況,本文就給大家介紹了springboot單獨(dú)在指定地方輸出sql的方法,需要的朋友可以參考下
    2023-10-10
  • spring-cloud Sleuth的使用方法

    spring-cloud Sleuth的使用方法

    這篇文章主要介紹了spring-cloud Sleuth的使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • 劍指Offer之Java算法習(xí)題精講二叉樹與斐波那契函數(shù)

    劍指Offer之Java算法習(xí)題精講二叉樹與斐波那契函數(shù)

    跟著思路走,之后從簡單題入手,反復(fù)去看,做過之后可能會忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會發(fā)現(xiàn)質(zhì)的變化
    2022-03-03
  • Java中BIO、NIO、AIO的理解

    Java中BIO、NIO、AIO的理解

    這篇文章主要為大家詳細(xì)介紹了Java中BIO、NIO、AIO的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Java OSS批量下載并壓縮為ZIP代碼實(shí)例

    Java OSS批量下載并壓縮為ZIP代碼實(shí)例

    這篇文章主要介紹了Java OSS批量下載并壓縮為ZIP代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09

最新評論

桃源县| 逊克县| 武乡县| 吉隆县| 古田县| 灌南县| 建平县| 威宁| 旬邑县| 大同县| 凌海市| 鸡泽县| 湟中县| 东方市| 安庆市| 英吉沙县| 封丘县| 怀柔区| 宜宾市| 南陵县| 西乡县| 永顺县| 滦南县| 邹城市| 巴彦县| 鄂州市| 呼图壁县| 资溪县| 堆龙德庆县| 育儿| 潼南县| 华坪县| 富蕴县| 灌南县| 手机| 思茅市| 韶山市| 乌苏市| 宁海县| 清远市| 宾阳县|