java代码实现手机号快捷登录注册
时间: 2023-06-02 21:01:33 浏览: 62
以下是java代码实现手机号快捷登录注册的示例:
1. 首先,需要创建一个数据库表,用于保存用户信息,例如:
```
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`mobile` varchar(20) NOT NULL,
`password` varchar(50) NOT NULL,
`nickname` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `mobile` (`mobile`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
```
2. 创建一个User类,用于保存用户信息:
```
public class User {
private int id;
private String mobile;
private String password;
private String nickname;
// 省略getter和setter方法
}
```
3. 创建一个UserService类,用于处理用户登录注册相关的业务逻辑:
```
public class UserService {
private static final String SALT = "my_salt"; // 盐值,用于加密密码
// 注册新用户
public void register(String mobile, String password, String nickname) {
User user = new User();
user.setMobile(mobile);
user.setPassword(encryptPassword(password));
user.setNickname(nickname);
// 将用户信息保存到数据库
// ...
}
// 登录
public User login(String mobile, String password) {
User user = getUserByMobile(mobile);
if (user == null) {
// 用户不存在
return null;
}
if (!user.getPassword().equals(encryptPassword(password))) {
// 密码错误
return null;
}
return user;
}
// 根据手机号获取用户信息
private User getUserByMobile(String mobile) {
// 从数据库中查询用户信息
// ...
}
// 对密码进行加密
private String encryptPassword(String password) {
// 使用MD5加密算法对密码进行加密,加盐
return DigestUtils.md5Hex(password + SALT);
}
}
```
4. 创建一个UserController类,用于处理用户登录注册相关的请求:
```
@Controller
public class UserController {
@Autowired
private UserService userService;
// 注册页面
@RequestMapping("/register")
public String registerPage() {
return "register";
}
// 注册请求
@PostMapping("/register")
@ResponseBody
public String register(@RequestParam String mobile,
@RequestParam String password,
@RequestParam String nickname) {
userService.register(mobile, password, nickname);
return "success";
}
// 登录页面
@RequestMapping("/login")
public String loginPage() {
return "login";
}
// 登录请求
@PostMapping("/login")
@ResponseBody
public String login(@RequestParam String mobile,
@RequestParam String password) {
User user = userService.login(mobile, password);
if (user == null) {
return "failed";
} else {
return "success";
}
}
}
```
5. 创建一个register.html页面,用于显示注册页面:
```
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册</title>
</head>
<body>
<form action="/register" method="post">
<input type="text" name="mobile" placeholder="手机号"><br>
<input type="password" name="password" placeholder="密码"><br>
<input type="text" name="nickname" placeholder="昵称"><br>
<button type="submit">注册</button>
</form>
</body>
</html>
```
6. 创建一个login.html页面,用于显示登录页面:
```
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<form action="/login" method="post">
<input type="text" name="mobile" placeholder="手机号"><br>
<input type="password" name="password" placeholder="密码"><br>
<button type="submit">登录</button>
</form>
</body>
</html>
```
这样,就完成了手机号快捷登录注册的java代码实现。