JavaWeb——012 SpringBootWeb综合案例(登录功能、登录校验、异常处理)
@Controller
public class LoginController {
@Autowired
private UserService userService;
@GetMapping("/login")
public String loginPage() {
return "login"; // 返回登录页面
}
@PostMapping("/login")
public String login(@RequestParam String username,
@RequestParam String password,
HttpSession session,
RedirectAttributes attributes) {
User user = userService.checkUser(username, password);
if (user != null) {
session.setAttribute("user", user);
return "redirect:/main"; // 登录成功,重定向到主页
} else {
attributes.addFlashAttribute("message", "用户名或密码错误");
return "redirect:/login"; // 登录失败,带上错误信息重定向到登录页面
}
}
@GetMapping("/logout")
public String logout(HttpSession session) {
session.removeAttribute("user"); // 注销用户
return "redirect:/login"; // 重定向到登录页面
}
}
这段代码提供了一个简单的登录功能实现,包括登录页面的访问、登录验证以及用户的注销操作。在登录验证方法中,它使用了UserService
来检查用户凭证,并通过HttpSession
管理用户的登录状态。如果用户登录成功,则将用户信息存入session并重定向到主页;如果登录失败,则通过RedirectAttributes
传递错误信息并重定向回登录页面。注销操作则会从HttpSession
中移除用户信息,并重定向回登录页面。
评论已关闭