天天看点

jsp获取客户端ip和mac地址

jsp获取客户端ip和mac地址

对用户的 ip 和 mac 地址进行验证,这里用到获取客户端ip和mac地址的两个方法,留存。

1.获取客户端ip地址( 这个必须从客户端传到后台):

   jsp页面下,很简单,request.getRemoteAddr() ;

   因为系统的VIew层是用JSF来实现的,因此页面上没法直接获得类似request,在bean里做了个强制转换

   public String getMyIP() {

Java代码  

jsp获取客户端ip和mac地址
jsp获取客户端ip和mac地址

 try  { 

     FacesContext fc = FacesContext.getCurrentInstance(); 

     HttpServletRequest request = (HttpServletRequest)fc.getExternalContext().getRequest(); 

     return  request.getRemoteAddr(); 

 } 

 catch  (Exception e) { 

     e.printStackTrace(); 

 } 

 return   "" ;

2.获取客户端mac地址

    调用window的命令,在后台Bean里实现 通过ip来获取mac地址。方法如下:

    public String getMACAddress(String ip){

Java代码  

jsp获取客户端ip和mac地址

 String str =  "" ; 

 String macAddress = "" ; 

 try  { 

     Process p = Runtime.getRuntime().exec("nbtstat -A "  + ip); 

     InputStreamReader ir = new  InputStreamReader(p.getInputStream()); 

     LineNumberReader input = new  LineNumberReader(ir); 

     for  ( int  i =  1 ; i <  100 ; i++) { 

         str = input.readLine(); 

         if  (str !=  null ) { 

             if  (str.indexOf( "MAC Address" ) >  1 ) { 

                 macAddress = str.substring(str.indexOf("MAC Address" ) +  14 , str.length()); 

                 break ; 

             } 

         } 

     } 

 } catch  (IOException e) { 

     e.printStackTrace(System.out); 

 } 

 return  macAddress;

jsp获取客户端ip和mac地址