java cookie 使用_Java开发之利用Cookie实现记住用户名密码功能

Cookie的作用原理

Cookie是一种通过Web浏览器将用户信息等存储于客户端的手段,Cookie不同于session,它的内容被存储在客户端而不是服务器端,因此cookie最常见的一个功能就是:记住用户名和密码。这种免密登录方式在私人环境下,给用户带来了很大的便捷,用户不用每次都要输入用户名和密码信息就能轻松登录web系统。

当然了,任何事物都是具有两面性的,便捷的同时也会潜在着一定的安全隐患,所以我们这里说是在私人环境下而不是在公共环境下。

cookie技术通过在请求和响应报文中写入cookie信息来控制客户点的状态,cookie会根据从服务器端发送的响应报文内的一个叫做set-cookie的首部字段信息,通知客户端保存cookie。当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入cookie值后发送出去。服务器端发现客户端发送过来的cookie后,会去检查究竟是从哪一个客户端发来的请求,然后对比服务器上的纪录,最后得到之前的状态信息。cookie其实是一个标识,具有唯一识别的功能。因Cookie是不可执行的文件,因此相对来讲,cookie也是安全的。

45b9b2085e8acffcff5c27d1206b66af.png

如何利用cookie

在JSP文件中,我们可以借助jquery来操作cookie。

function saveUserInfo() {

if ($("#rememberpwd").is(":checked")) {

var myunm = $("#username").val();

var mypwd = $.base64.encode($("#userpw").val());

$.cookie("rememberpwd", "true", { expires: 7 }); // 存储一个带7天期限的 cookie

$.cookie("username", myunm, { expires: 7 }); // 存储一个带7天期限的 cookie

$.cookie("userpw", mypwd, { expires: 7 }); // 存储一个带7天期限的 cookie

} else {

$.cookie("rememberpwd", "false", { expires: -1 }); // 删除 cookie

$.cookie("username", '', { expires: -1 });

$.cookie("userpw", '', { expires: -1 });

}

}

在Java后台,我们可以这样获取cookie:Cookie[] cookies=request.getCookies();

protected String getValue(Cookie[] cookies, String key) {

String value = null;

if (null != cookies && cookies.length > 0) {

for (Cookie c : cookies) {

if (key.equals(c.getName())) {

value = c.getValue();

break;

}

}

}

return value;

}

结语

合理利用cookie,可以有效避开Cookie的不利因素,利用其优势,给人们的日常带来方便。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值