用spring写一个登录功能
时间: 2023-05-14 14:04:57 浏览: 57
好的,以下是一个简单的使用 Spring 实现的登录功能的示例代码:
```java
@Controller
public class LoginController {
@Autowired
private UserService userService;
@GetMapping("/login")
public String showLoginForm() {
return "login";
}
@PostMapping("/login")
public String login(@RequestParam String username, @RequestParam String password, HttpSession session) {
User user = userService.getUserByUsername(username);
if (user != null && user.getPassword().equals(password)) {
session.setAttribute("user", user);
return "redirect:/home";
} else {
return "login";
}
}
@GetMapping("/home")
public String showHomePage(HttpSession session) {
User user = (User) session.getAttribute("user");
if (user != null) {
return "home";
} else {
return "redirect:/login";
}
}
@GetMapping("/logout")
public String logout(HttpSession session) {
session.invalidate();
return "redirect:/login";
}
}
```
这个示例代码中,我们使用了 Spring 的依赖注入功能,将 UserService 注入到了 LoginController 中。在登录页面中,用户输入用户名和密码,然后在提交表单时,我们通过 UserService 获取对应的 User 对象,然后判断密码是否正确,如果正确,则将 User 对象存入 HttpSession 中,然后重定向到首页。在首页中,我们从 HttpSession 中获取 User 对象,如果存在,则显示首页,否则重定向到登录页面。在注销时,我们只需要使 HttpSession 失效即可。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)