用SSM整合框架实现用户登录功能,且密码使用MD5算法加密的过程。登录成功则跳转至主页,失败有相应的弹窗提示
时间: 2023-06-23 09:08:48 浏览: 92
Maven+SSM+Shiro框架整合完整实现,实现某权限用户登录,记住密码等功能。
首先,需要在数据库中创建用户表,包含用户ID和密码字段。密码字段需要使用varchar类型,并设置长度为32,用于存储MD5加密后的密码。
接下来,需要创建一个User实体类,用于映射数据库中的用户表,并提供相应的getter和setter方法。
在登录页面中,需要创建一个form表单,包含用户名和密码两个输入框,并使用POST方法提交表单数据至后台。
在后台,需要创建一个UserController类,处理用户登录请求。首先,需要使用@RequestParam注解获取前台传来的用户名和密码。然后,将密码进行MD5加密,并与数据库中存储的密码进行比对。如果比对成功,则表示登录成功,跳转至主页。如果比对失败,则表示登录失败,返回到登录页面,并弹出相应的提示框。
以下是示例代码:
User实体类:
```java
public class User {
private String userId;
private String password;
// getter和setter方法
}
```
登录页面:
```html
<form action="/user/login" method="post">
<div>
<label for="userId">用户名:</label>
<input type="text" id="userId" name="userId" required>
</div>
<div>
<label for="password">密码:</label>
<input type="password" id="password" name="password" required>
</div>
<div>
<button type="submit">登录</button>
</div>
</form>
```
UserController类:
```java
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/login")
public String login(@RequestParam("userId") String userId, @RequestParam("password") String password, HttpSession session, Model model) {
// 将密码进行MD5加密
String encryptedPassword = DigestUtils.md5DigestAsHex(password.getBytes());
// 根据用户名查询用户信息
User user = userService.getUserById(userId);
if (user != null && user.getPassword().equals(encryptedPassword)) {
// 登录成功,将用户信息存入session中
session.setAttribute("user", user);
return "redirect:/index";
} else {
// 登录失败,返回到登录页面并弹出提示框
model.addAttribute("message", "用户名或密码错误");
return "login";
}
}
}
```
其中,UserService是一个接口,用于定义查询用户信息的方法,具体实现可以使用MyBatis或Hibernate等ORM框架。在此不再赘述。
阅读全文