登陆功能的实现

登陆功能:

1.点击登陆按钮后,前台发送ajaxsubmit请求将表单数据username和password提交到后台、

2.后台接收参数后,controller调用service层的方法,将参数传到service层,service层判断username是否存在,不存在返回账户错误,存在则继续判断密码是否正确,正确则返回一个user到controller,不存在则返回密码错误。

3.controller接收到user后,将user以键值对的形式放入session,从而发送到前台。将结果ajaxresult以json的形式响应到前台

4.前台接收到json参数,登陆成功,跳转到首页,失败则返回错误信息

登陆拦截:

创建一个类继承HandlerInterceptor,重写prehandle方法。获取一个session对象,通过key值获取到session里的user对象,通过session获取的对象是否为null,决定是否拦截。不为null,放行。如果为null,跳转到登录页面

记住我和取消记住我:

记住我

在前端页面的标签添加一个属性value,并赋值,如果选择了记住我,则会将这个值发送到后台,后台可以通过这个值是否为null判断是否选择了记住我。当然要想拿到value,也必须在这个标签上添加name属性。

后台:获取到user后

1.创建两个cookie对象,并将username和password放进去

2.设置路径

3.设置生命周期

4.将cookie响应到浏览器

前台:

1.调用方法获取浏览器中的cookie

2.判断cookie中是否含有username来判断是否是记住我

3.如果结果是true,则分割cookie,得到一个数组 [username=root,password=123]

4.遍历数组,得到两个字符串

5.判断字符串中是否包含username或是password,获取到想要的字符串

6.截取字符串,获取username 的值或是password的值

7.通过id获取对应的input标签,并将得到的值放入其中,当然还有记住我这个选择框,需要让它处于默认选中状态

取消记住我:

后台:

1.从浏览器中获取cookie,得到是一个数组

2.遍历数组

3.判断cookie的key值是否是username或是password,因为需要杀死的cookie是username和password,如果不做判断会把所有cookie都杀死

4.使cookie死亡

5.将死去的cookie响应到浏览器

前台:

1.给所有框赋予空值

2.并让选择框处于不选中状态

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值