jsp中如何获取本机ip

jsp中如何获取本机ip,第1张

<%@page

contentType="text/htmlcharset=gb2312"%><%InetAddress

addr

=

InetAddress.getLocalHost()

ip=addr.getHostAddress().toString//获得本机IP

pageContext.setAttribute("ip",ip)%>//在下面引用这个:${ip},就可以了</body

1、当客户机提出查询请求时,首先在本地计算机的缓存中查找。如果在本地无法获得查询信息,则将查询请求发给dns服务器

2、首先客户机将域名查询请求发送到本地dns服务器,当本地dns服务器接到查询后,首先在该服务器管理的区域的记录中查找,如果找到该记录,则利用此记录进行解析;如果没有区域信息可以满足查询要求,服务器在本地的缓存中查找。

3、如果本地服务器不能在本地找到客户机查询的信息,将客户机请求发送到根域名dns服务器。

4、根域名服务器负责解析客户机请求的根域部分,它将包含下一级域名信息的dns服务器地址返回给客户机的dns服务器地址。

5、客户机的dns服务器利用根域名服务器解析的地址访问下一级dns服务器,得到再下一级域我的dns服务器地址。

6、按照上述递归方法逐级接近查询目标,最后在有目标域名的dns服务器上找到相应ip地址信息。

7、客户机的本地dns服务器将递归查询结果返回客户机。

8、客户机利用从本地dns服务器查询得到的ip访问目标主机,就完成了一个解析过程。

1, 在JSP页面导入java.net.*

2. 获得IP地址代码

 InetAddress hostAndIP = null

    try {

             hostAndIP = InetAddress.getLocalHost()

     } catch (UnknownHostException e) {

            e.printStackTrace()

     }

     String ip = hostAndIP.toString()

3. 获得mac地址的方法, 接上

  byte[] mac = new byte[0]

        try {

            InetAddress hostAndIP = hostAndIP.getLocalHost()

            mac = NetworkInterface.getByInetAddress(hostAndIP).getHardwareAddress()

        } catch (SocketException e) {

        } catch (UnknownHostException e) {

        }

        StringBuffer buffer = new StringBuffer("")

        for (int i = 0 i < mac.length i++) {

            if (i != 0) {

                buffer.append("-")

            }

            //字节转换为整数

            int temp = mac[i] & 0xff

            String str = Integer.toHexString(temp)

            if (str.length() == 1) {

                buffer.append("0" + str)

            } else {

                buffer.append(str)

            }

        }

        String mac= buffer.toString()

这种是直接把代码写在页面上,建议封装一个工具类直接在页面上导入后调用方法获得IP和MAC,或者写成自定义标签


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/405730.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存