@RequestMapping("/toLogin") public ModelAndView toLogin(User user){ User u = userService.login(user.getUsername(),user.getPassword()); ModelAndView modelAndView = new ModelAndView(); System.out.println(u); //是否能得到一个u,决定是否登录成功 if (u!=null) { //将user存进session中 modelAndView.addObject("user",u); modelAndView.setViewName("index"); }else { modelAndView.addObject("error","账号或密码错误!"); modelAndView.setViewName("login"); } return modelAndView;将这段代码改成查看用户名错误还是密码错误
时间: 2024-02-21 10:59:34 浏览: 84
springmvc:@Controller @RequestMapping @RequestParam,模型和ModelAndView Spring MVC实践
要将这段代码改成分别查看用户名错误和密码错误,可以在 `UserService` 中添加两个方法,分别用于根据用户名和密码查询用户信息。修改后的代码如下:
```
@RequestMapping("/toLogin")
public ModelAndView toLogin(User user){
User u = userService.getUserByUsername(user.getUsername());
ModelAndView modelAndView = new ModelAndView();
System.out.println(u);
//判断用户名是否存在
if (u == null) {
modelAndView.addObject("error","用户名不存在!");
modelAndView.setViewName("login");
return modelAndView;
}
//判断密码是否正确
u = userService.getUserByUsernameAndPassword(user.getUsername(), user.getPassword());
if (u!=null) {
//将user存进session中
modelAndView.addObject("user",u);
modelAndView.setViewName("index");
}else {
modelAndView.addObject("error","密码错误!");
modelAndView.setViewName("login");
}
return modelAndView;
}
```
其中,`getUserByUsername` 方法用于根据用户名查询用户信息,如果用户不存在,则返回 null;`getUserByUsernameAndPassword` 方法用于根据用户名和密码查询用户信息,如果用户不存在或密码不正确,则返回 null。
阅读全文