spring mvc-Java SpringMVC web项目如何获取手机的唯一标识

问题描述

Java SpringMVC web项目如何获取手机的唯一标识

想做一个web手机签到系统,为了防止同学用其他同学的手机签到,所以要记住每个同学手机的。
签到的基本流程是同学用手机连上特定的wifi,然后用手机浏览器登陆某个局域网IP,在出来的页面那里签到。
唯一标识(mac地址或者IMEI之类的),这样这个同学就只能用这台手机签到了。
那么问题来了?请问如何在java后台通过HttpServletRequest或者其他方法获取到手机的唯一标识,而且所有手机都是连上了同一个路由器的局域网的;同时为了防止同学
用电脑签到,最好能判断客户端的操作系统类型。

解决方案

谢谢大家,我已经有解决方法了。通过arp协议,可以拿到客户端的mac地址:
1. 首先拿到客户端的ip:String ip = request.getRemoteAddr();
2. 然后通过Ip获得mac地址:
windows下代码:
String macAdd = "";
String arpCMD = "arp -a ";
try {
//Runtime.getRuntime().exec(pingCMD + ip);
String string;
Process process = Runtime.getRuntime().exec(arpCMD + ip);
InputStreamReader inputStreamReader = new InputStreamReader(process.getInputStream());
LineNumberReader lineNumberReader = new LineNumberReader(inputStreamReader);
for (int i = 0; i < 100; i++) {
string = lineNumberReader.readLine();
//System.out.println(string);
if (string != null) {
if (string.indexOf(ip) > 1) {
macAdd = string.substring(string.indexOf("at") + 3, string.indexOf("at") + 20);
return macAdd;
}
}
}
} catch (Exception e) {
e.printStackTrace();
return null;
// TODO: handle exception
}

    return macAdd;

Linux下只需把arpCMD = "arp -a " 改成 arpCMD = "arp -n ";就可以了

解决方案二:

使用AndroidDebugBridge 可以获取手机的序列号,这个序列号也是唯一的。 网上有很多AndroidDebugBridge的讲解,可以百度一下。

解决方案三:

推荐http://blog.csdn.net/zmq594706413/article/details/41448421

解决方案四:

客户端是自己做的话,请求消息头直接带上imei就可以了,如果单纯的服务端,而又不经过wap网关,貌似没有固定有效的方法获取。

解决方案五:

使用UUID,应该可以解决机器的唯一性

解决方案六:

Android设备的唯一标识 应该是 Android ID

解决方案七:

Android设备的唯一标识 应该是 Android ID

时间: 2024-09-12 18:31:22

spring mvc-Java SpringMVC web项目如何获取手机的唯一标识的相关文章

java web-Java web项目邮箱获取的验证码无效怎么解决

问题描述 Java web项目邮箱获取的验证码无效怎么解决 这是一个bug,点击邮箱登录之后点击忘记密码会出现获取验证码,获取到验证码之后输入验证码显示不对是无效的,log也没有报错,求大神帮看看是什么问题,,能否给点意见或者帮助解决一下,十分感谢 解决方案 你的验证码在后台生成之后应该是没有传到前台 解决方案二: 传到了呀,log里都显示发送验证码成功了,这个验证码接口供多方调用别的都可以只有摩托罗拉的不好使,

spring mvc-在Eclipse中使用Maven+Spring mvc +cxf搭建Web Service

问题描述 在Eclipse中使用Maven+Spring mvc +cxf搭建Web Service 请各路大神给出详细步骤,包括项目怎么建.各种配置文件怎么配.Java类里面怎么写(可以是一个简单的hello world)等等,最好有截图,非常感谢!

jsp页面传值在spring mvc中的controller中的获取

问题描述 jsp页面传值在spring mvc中的controller中的获取 <% Seller seller =(Seller)session.getAttribute("sellerinfo"); %> <form action="<%=basePath%>plmanage/updateSeller.do" method="post"> <input type="hidden"

web 项目 如何获取用户登陆地址

问题描述 web 项目 如何获取用户登陆地址 用户登 入 然后怎么获取用户的登入地址呢 例如爱奇艺的 登陆地判断 解决方案 WEB项目中如何获取ip地址和端口号 解决方案二: 1.登录时,获取登录用户的IP地址: 2.根据获取到的IP地址获取所在地理位置. jsp如何获得客户端的IP地址java根据IP获取用户所在地

debug-eclipse用java写web项目,操作页面时怎么证明哪些代码,哪些方法被调用执行了

问题描述 eclipse用java写web项目,操作页面时怎么证明哪些代码,哪些方法被调用执行了 跑web项目,在页面进行操作,怎么查明这个操作调用了哪些类的哪些方法以及执行顺序,本人不怎么会调试,能具体点最好,感激不尽 解决方案 楼主可能没有工作吧,其实这个问题稍微有个人简单一说就会了,从浏览器要学会使用开发者模式,例如firefox的debug模式,这个可以查看页面操作 后发送了哪些请求,然后得到了什么响应,请求就可以知道你调用了哪个Action,从而知道调用后台哪些方法,后台如果用ecli

获取Android设备唯一标识码

概述 有时需要对用户设备进行标识,所以希望能够得到一个稳定可靠并且唯一的识别码.虽然Android系统中提供了这样设备识别码,但是由于Android系统版本.厂商定制系统中的Bug等限制,稳定性和唯一性并不理想.而通过其他硬件信息标识也因为系统版本.手机硬件等限制存在不同程度的问题. 下面收集了一些"有能力"或"有一定能力"作为设备标识的串码. DEVICE_ID 这是Android系统为开发者提供的用于标识手机设备的串号,也是各种方法中普适性较高的,可以说几乎所有

Apache Geronimo和Spring框架,第6部分:Spring MVC:使用Web视图技术

简介:本教程是系列教程(共六部分)的最后一部分,向您展示了如何利用 Spring 框架来使用 JavaServer Page(JSP).Velocity.Tile 和 PDF 导出功能.您将用 Model-View-Controller (MVC)中的 V 做试验,即 Spring MVC 中内置的各种 Web 视图.通过对 Spring MVC 所支持的各种视 图技术的全面介绍,您将看到在整个系列教程中构建的样例电话本应用程序中实现这些技术有多么轻松. 开始之前 本系列教程适合于需要了解 Sp

Spring Boot快速搭建Web项目基本框架

新建项目 配置pom.xml 配置版本 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"

java web-JAVA WEB项目求助。简单的登录用户界面

问题描述 JAVA WEB项目求助.简单的登录用户界面 简单的登录界面,实现注册帐号,修改密码,忘记密码后修复密码. 需要使用后台与数据库的交互. 求教各位大神,1.搭什么样的环境比较好.求文章分享. 2.类似的文章讨论过的项目. 谢谢各位大神. 解决方案 用最简单的jsp就可以 参考:http://download.csdn.net/detail/mlh115101/2879187 无非都是最基本的数据库的增删改查. 解决方案二: http://wenku.baidu.com/link?url