0

首先我像这样从pc客户端获取mac地址

public void getterMacAddress(){
      InetAddress ip;
    try {

        ip = InetAddress.getLocalHost();
        System.out.println("Current IP address : " + ip.getHostAddress());

        NetworkInterface network = NetworkInterface.getByInetAddress(ip);

        byte[] mac = network.getHardwareAddress();

        System.out.print("Current MAC address : ");

        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < mac.length; i++) {
            sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));        
        }
        System.out.println(sb.toString());
                macAddress = sb.toString();

    } catch (UnknownHostException e) {

        e.printStackTrace();

    } catch (SocketException e){

        e.printStackTrace();

    }
    }

我成功获得了mac地址,但是如何将该mac地址发送到服务器?

4

1 回答 1

0

您可以将字符串作为 URL 参数传递给服务器(JSF)

我的服务器:端口/myproject/innerpage/mac.jsf?mac=5C-AC-4C-75-44-4A

public class Bean {

@ManagedProperty(value="#{param.mac}")
private String mac;

@PostConstruct
public void init() {
    System.out.println(mac); // 5C-AC-4C-75-44-4A
}
// ...
}

还要看这个问题:URL jsf2 中的参数

我不建议为此目的使用 JSF。Servlet 或 REST web 服务 - 是一种更好的方式。

于 2013-04-27T22:37:06.567 回答