用户模块之登录功能 | 学习笔记

简介: 快速学习用户模块之登录功能

开发者学堂课程【Java Web项目实战2:图书商城用户模块之登录功能】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/35/detail/769


用户模块之登录功能


内容介绍:

一、用户模块之登录流程

二、UserServlet#login()

三、UserService

四、UserDao

五、登录功能


一、用户模块之登录流程

/jsps/user/login.jsp → UserServlet#login()→ index.jsp

 

二、 UserServlet#login()

1.一键封装(只有用户名和密码)

2.输入校验(略了)

3.调用 service 方法完成登录

>保存异常信息、保存 form ,转发回 login.jsp

4.保存用户信息到 session 中

5.重定向到 index.jsp

User form = CommonUtils.toBean(request.getParameterMap(),User.class);try {

Useruser = userservice.login(form);

request.getSession().setAttribute("session_user",user);

return "r:/index.jsp";l

} catch (UserException e) {

request.setAttribute("msg",e.getMessage());

request.setAttribute("form", form);

return "f:/jsps/user/login.jsp";

 

 

三、 UserService

User login(User,form)

1.使用 username 查询数据库,得到 user 对象>如果 user为null ,抛出异常(用户名不存在)。

2.比较 form 与 user 的密码是否相同。

>如果不同,抛出异常(密码错误)

3.查看用户的状态

>如果为未激活状态,抛出异常

4. 返回 user

 

四、 UserDao

1. User findByUsername()

 

五、登录功能

1. 使用 username 查询,得到 User

2. 如果 user 为 null ,抛出异常(用户名不存在)

3. 比较 form 和 user 的密码,若不同,抛出异常(密码错误)

4. 查看用户的状态,若为 false ,抛出异常(尚未激活)

5. 返回 user


User

user=userDao.findByUsername(form.getUsername());

if(user==null)throw new UserException("用户名不存在!");

if(!user.getPassword().equals(form.getPassword()))throw new UserException("密码错误!");

if(!user.isState())throw new UserException("尚未激活!");

return user;

相关文章
|
存储 前端开发 PHP
构建一个简单的网站,包括用户注册、登录功能
构建一个简单的网站,包括用户注册、登录功能
269 1
|
6月前
|
Java 数据库连接 数据库
用户登录功能实现案例
用户登录功能实现案例
69 0
|
11月前
|
存储 小程序 关系型数据库
后台交互-个人中心->小程序登录微信登录接口演示,小程序授权登录理论,小程序授权登录代码演示,微信表情包存储问题
后台交互-个人中心->小程序登录微信登录接口演示,小程序授权登录理论,小程序授权登录代码演示,微信表情包存储问题
108 0
|
数据安全/隐私保护 开发者 微服务
登录功能(接口问题解决) | 学习笔记
快速学习登录功能(接口问题解决)
登录功能(接口问题解决) | 学习笔记
|
存储 SQL 编解码
一个简单的登录功能,你真的会测试吗?
一个简单的登录功能,你真的会测试吗?
121 0
|
XML 存储 Java
登录功能(接口) | 学习笔记
快速学习登录功能(接口)
|
前端开发 JavaScript 关系型数据库
后台系统登录功能改造(1) | 学习笔记
快速学习后台系统登录功能改造(1)
|
数据安全/隐私保护 开发者 Python
登录功能的实现| 学习笔记
快速学习登录功能的实现
|
开发者 Python
修改用户功能实现 | 学习笔记
快速学习 修改用户功能实现
111 0
后台登录模块理解
后台登录模块理解