国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

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

2024-07-14 08:43:12
字體:
來源:轉載
供稿:網友

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

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

struts2 獲取request

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

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

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

1、JSP中獲得當前應用的相對路徑和絕對路徑

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

2 Servlet中獲得當前應用的相對路徑和絕對路徑

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

ServletContext對象獲得幾種方式:

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

3.Java類中獲得絕對路徑

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

擴展:

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

在window下使用

InetAddress.getLocalHost().getHostAddress()

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

在網上搜索了很多,發現說這個問題的并不多,所以,我把找到的一段代碼分享給大家。。。當然這段代碼需要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();}

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

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


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 光泽县| 宁国市| 陈巴尔虎旗| 时尚| 新巴尔虎右旗| 吉林市| 阳东县| 琼海市| 桐城市| 防城港市| 松溪县| 黑龙江省| 海安县| 闽清县| 马公市| 冀州市| 阿克陶县| 怀柔区| 昭通市| 施秉县| 桓台县| 新巴尔虎右旗| 肥乡县| 瓮安县| 慈溪市| 信阳市| 云和县| 尼木县| 石嘴山市| 东至县| 玛曲县| 新巴尔虎左旗| 邓州市| 华蓥市| 上饶县| 靖边县| 浪卡子县| 古丈县| 江津市| 芒康县| 江津市|