JavaWeb利用cookie记住账号

JavaWeb利用cookie记住账号。

首先,来看看界面什么样子。
登录页面的记住账号

记住账号最普遍的做法,就是在点击登录时,将账号保存到cookie中。

材料准备

<script src="${ctx}/background/js/jquery-1.7.2.js" type="text/javascript"></script>
<script src="${ctx}/background/js/jquery.cookie.js" type="text/javascript"></script>

去找一下这两个文件,引入到你所在的页面。

form表单

<form action="${ctx}/j_spring_security_check" method="post" id="login_form">

                    <p>
                        <label>用户名:</label>
                        <input type="text" name="j_username" id="j_username" size="20" class="login_input" autocomplete="off"/>
                    </p>
                    <p>
                        <label>密&nbsp;&nbsp;&nbsp;码:</label>
                        <input type="password" name="j_password" size="20" class="login_input" />
                    </p>
                    <p>
                        <input type="checkbox" value="true" id="j_remember"/><label>&nbsp;&nbsp;&nbsp;&nbsp;</label>记住我的账号
                    </p>

                    <div class="login_bar">
                        &nbsp;&nbsp;<input class="sub" type="submit" value=" " />
                    </div>
                </form>

注意,我使用了spring的security。

核心内容

创建一份login.js,并且在login.jsp中引入。

var COOKIE_NAME = 'sys__username';
$(function() {
    if ($.cookie(COOKIE_NAME)){
        $("#j_username").val($.cookie(COOKIE_NAME));
        $("#j_password").focus();
        $("#j_remember").attr('checked', true);
    } else {
        $("#j_username").focus();
    }

    $("#login_form").submit(function(){
        var $remember = $("#j_remember");
        if ($remember.attr('checked')) {
            $.cookie(COOKIE_NAME, $("#j_username").val(), { path: '/', expires: 15 });
        } else {
            $.cookie(COOKIE_NAME, null, { path: '/' });  //删除cookie
        }
    });

});
  1. 当页面加载的时候,先去判断是否有cookie保存,如果有,则将用户名从cookie中取出,显示在用户名输入框中。
  2. 当表单进行提交的时候,如果用户选择记住用户名,那么将用户名保存在cookie中,否则,删除对应的cookie信息。

cookie方法介绍

实例方法备注
创建一个会话cookie$.cookie(‘cookieName’,’cookieValue’);所创建的cookie有效期默认到用户浏览器关闭止,故被称为会话cookie。
创建一个持久cookie$.cookie(‘cookieName’,’cookieValue’,{expires:15});当指明时间时,故称为持久cookie,并且有效时间为15天。
创建一个持久并带有效路径的cookie$.cookie(‘cookieName’,’cookieValue’,{expires:15,path:’/’});如果不设置有效路径,在默认情况下,只能在cookie设置当前页面读取该cookie,cookie的路径用于设置能够读取cookie的顶级目录。
获取cookie$.cookie(‘cookieName’);如果存在则返回cookieValue,否则返回null
删除cookie$.cookie(‘cookieName’,null);如果想删除一个带有效路径的cookie,如下:$.cookie(‘cookieName’,null,{path:’/’});

总结:如果你想保存密码,当然和用户名差不多,不过你需要jquery.md5.js这样一份文件,用来将你保存的密码显示在密码框中。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉默王二

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值