用户登录前后端开发(一个简单完整的小项目)——SpringBoot与session验证(带前后端源码)全方位全流程超详细教程
以下是一个简单的用户登录功能的前后端代码示例,使用Spring Boot和Thymeleaf模板引擎。
后端代码(Spring Boot):
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
@Controller
public class LoginController {
@PostMapping("/login")
public String login(@RequestParam String username, @RequestParam String password, RedirectAttributes redirectAttributes) {
// 这里简单处理,实际开发应与数据库进行比对
if ("admin".equals(username) && "password".equals(password)) {
// 登录成功,将用户名存入session
redirectAttributes.addAttribute("username", username);
return "redirect:/welcome";
} else {
// 登录失败,添加错误消息
redirectAttributes.addFlashAttribute("error", "登录失败,用户名或密码错误");
return "redirect:/login";
}
}
@PostMapping("/logout")
public String logout(SessionStatus sessionStatus) {
// 注销,清除session
sessionStatus.setComplete();
return "redirect:/login";
}
}
前端代码(Thymeleaf模板):
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Login Page</title>
</head>
<body>
<h2>Login</h2>
<form th:action="@{/login}" method="post">
<div th:if="${error}" style="color: red;">
[[${error}]]
</div>
<div>
<label>Username:</label>
<input type="text" name="username" />
</div>
<div>
<label>Password:</label>
<input type="password" name="password" />
</div>
<div>
<button type="submit">Login</button>
</div>
</form>
</body>
</html>
欢迎页(Thymeleaf模板):
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Welcome Page</title>
</head>
<body>
<h2 th:text="'Welcome, ' + ${username} + '!'">Welcome, User!</h2>
<a href="/logout">Logout</a>
</body>
</html>
在这个例子中,我们创建了一个简单的登录表单,后端验证用户名和密码,如果成功则重定向到欢迎页面并存储用户名到session中。在欢迎页面,我们展示了用户名并提供了注销链接。注销操作会清除session信息并重定向回登录页面。
评论已关闭