1Android二维码扫描登陆
1,web端生成二维码,传递uuid,并存入数据库
2,web端轮训查询信息,是否有数据库扫描二维码信息
3,手机端扫描二维码,获取UUID,传递用户名、密码web端
4,web查询数据库中用户信息(UserLogin),将登陆信息(用户名,密码)存入数据库。
5,web轮训查到用户登陆信息,信息完整,则登陆成功。
1.1web端
1.1.1导入依赖包(二维码生成QRCode.jar)
QRCode.jar fastjson-1.1.33.jar
1.1.2用户登陆信息实体类(UserLogin.java)
1.1.3生成二维码(GetQrCodeServlet.java)
1.1.4用长连接,检查登录状态
(LongConnectionCheckServlet.java)
1.1.5接收手机二维码回传信息(PhoneLoginServlet.java)
1.1.6二维码扫描界面(index.html)
.div-content-text{
text-align: center;
margin-top: 20px;
font-size: 36px;
color: blue;
}
</style>
<body>
<div id="divCon"class="div-content">
<img src=""id="QrCodeImg"class="img"/>
<div class="div-content-text">扫描二维码登陆</div> </div>
</body>
<script type="text/javascript">
$(document).ready(
function() {
var uuid;
$.get("GetQrCodeServlet", function(data, status) {
var obj = eval("(" + data + ")");
//存储UUID
uuid = obj.uuid;
//显示二维码
$("#QrCodeImg").attr("src", obj.qrCodeImg);
//开始验证登录
validateLogin();
});
function validateLogin() {
$.get("LongConnectionCheckServlet?uuid=" + uuid, function(
data, status) {
if (data == "") {
validateLogin();
} else {
var obj = eval("(" + data + ")");
alert("登录成功了:" + obj.uname);
window.location.href = "home.html";
}
});
}
});
</script>
</html>
1.1.7运行效果
1.2手机端
1.2.1导入依赖工程BarCodeLibrary
1.2.2创建工程并引入依赖包
1.2.3手机二维码界面(activity_main.xml)
1.2.4MainActivity.java
1.2.5运行效果。