由于提供的代码已经是一个完整的校园快递物流管理系统的核心部分,我将提供一个简化版本的核心代码示例,展示如何使用SSM框架创建一个简单的用户登录功能。
// UserController.java
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(@RequestParam String username, @RequestParam String password,
HttpSession session, Model model) {
User user = userService.validateLogin(username, password);
if (user != null) {
session.setAttribute("currentUser", user);
return "redirect:/index";
} else {
model.addAttribute("error", "用户名或密码错误");
return "login";
}
}
@RequestMapping("/logout")
public String logout(HttpSession session) {
session.removeAttribute("currentUser");
return "login";
}
}
// UserService.java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User validateLogin(String username, String password) {
return userMapper.findByUsernameAndPassword(username, password);
}
}
// UserMapper.java (接口)
public interface UserMapper {
@Select("SELECT * FROM users WHERE username = #{username} AND password = #{password}")
User findByUsernameAndPassword(@Param("username") String username, @Param("password") String password);
}
在这个示例中,我们定义了一个UserController,它处理用户的登录请求。它调用UserService的validateLogin方法来验证用户凭证。如果验证成功,它将用户信息存储在session中,并将用户重定向到首页。如果验证失败,它会在模型中添加错误信息并要求用户重新登录。
UserService是业务逻辑层的组件,它调用UserMapper接口来查询数据库。
UserMapper是一个MyBatis接口,它定义了如何根据用户名和密码查询用户信息。
注意:这个示例假设你已经有一个User实体类和一个配置正确的MyBatis和Spring框架。