做项目的时候,会有登录功能,就会有一个记住我的功能,我们常常选择使用Cookie来存信息。
为什么用Cookie呢?
1.HTTP协议是无状态的,服务器无法记录用户上一次的操作,这样就造成了交互上的阻碍。而Cookie就可以做到绕开HTTP的无状态。服务器借由从Cookie中读取包含的信息,借以维护用户和服务器会话中的状态。
2.Cookie缓存的信息是存到你的硬盘上的,而且你电脑关机也不会造成数据的丢失,最重要的是,你可以设置Cookie的保存时间,从建立Cookie开始,经过这么久,它就会销毁.
<div class="form_input clearfix"><form><ul><li><input type="text" name="nickname" class="name_input" id="nickname" placeholder="请输入用户名" id="nickname"></li><li><input type="password" name="pwd" class="pwd_input" id="pwd" placeholder="请输入密码" id="pwd"></li><li><div class="more_input clearfix"><input type="checkbox" checked id="remember"><label for="remember" >记住我</label></div></li><li><input type="button" value="登录" class="submit_input" onclick = "login()"></li></ul></form>
</div>
//模拟登陆
function login(){//获取用户名var nickname = $("#nickname").val();//获取密码var pwd = $("#pwd").val();//传过去一个MD5加密过的密码 便于存cookievar md5pwd=$.base64.btoa(encodeURIComponent(pwd));//判断是否要使用记住密码和用户名var flag=0;if($("#remember").prop("checked") ){//选择了记住我flag=1;}//发送请求 登录$.post("member/login",{nickName:nickname,pwd:pwd,flag:flag,md:md5pwd},function(data){data=parseInt($.trim(data));if(data>0){//登录成功//跳转转网页location.href = "member/index"; }else{alert("用户名或密码错误");location.href = "login.html";}},"text")
}//每次一进入到login.html都要进行判断是否有cookie
$(function(){//取cookie var strkie;var pwd=str.split(";")[0].split("-")[1];var pwd = decodeURIComponent($.base64.atob(pwd));//解密$("#nickname").val(str.split(";")[0].split("=")[1].split("-")[0]);$("#pwd").val(pwd);
})
@Controller
@RequestMapping("/member")
public class MemberInfoController{@Autowiredprivate IMemberInfoBiz memberInfoBiz;@RequestMapping("/login")@ResponseBodypublic int Login(@RequestParam Map<String,Object> map,HttpSession session,HttpServletResponse response) throws UnsupportedEncodingException, NoSuchAlgorithmException{int result=-1;MemberInfo member=memberInfoBiz.login(map);if(member!=null){//登陆成功// 判断是否要存cookieif("1".("flag"))){//说明勾选了记住我//获取到用户名和密码String loginInfo("nickName")+"-"("md");//实例化Cookie对象Cookie userCookie = new Cookie("LoginInfo",loginInfo);//设置编码集de(loginInfo,"utf-8");//设置cookie的生命周期 7天userCookie.setMaxAge(60*60*24*7);userCookie.setPath("/");response.addCookie(userCookie);}result=1;}return result;}
}
本文发布于:2024-02-03 06:13:57,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170691203649173.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |