需求介绍—开发登录,退出功能
访问登录页面:点击头部区域的链接打开登录页面
登录:
- 验证账号,密码,验证码
- 成功时生成登录凭证发放给客户端,失败时跳转回登录页面
退出:
- 将登录状态修改为失效的状态
- 跳转至往网站的首页
代码实现
现在我们暂时把登录凭证存到数据库里面有一张表login_tickrt
,以后会存到Redis
里面。
那么首先要把登录凭证的相关操作实现了,首先写个实体类对应login_tickrt
表里的数据,将其封装起来
1 | package com.nowcoder.community.entity; |
接下来实现数据访问的逻辑,那么新建一个接口LoginTicketMapper
,对应的有以下几种方法:增加一个凭证,依据ticket
来查凭证,修改凭证的状态。
这次我们通过注解的方式实现sql
查询。
1 | package com.nowcoder.community.dao; |
那么现在就开发业务层UserService
:
1 | // 封装一个Map,返回多种情况的返回结果 |
那么现在写表现层,写LoginController
来处理页面传来的请求,写能处理请求的方法就可以了。
对于记住我的勾选我们要有不同的保存时间,所以我们定义两个常量的时间比较好,在CommunityConstant
里添加定义:
1 | /** |
辅助功能完成就写对应的表现层:
1 | // 我们在决定Cookie的有效路径,最好是用变量来显示比较方便 |
最后开发退出:
首先数据层我们已经写好了,只需要写个业务层和表现层
1 | // 业务层调一下mapper的update方法就可以了 |
表现层要从Cookie
中拿到ticket
,然后调业务层。
1 | "/logout", method = RequestMethod.GET) (path = |