视图解析器与视图的底层原理
看完一遍尚硅谷的视频后自己琢磨,不懂就继续看视频,内容可能多有漏洞,如有不对,还望大佬们斧正
简单的控制器方法,实现页面的跳转以及添加错误信息。
@PostMapping("/login")
public String main(User user, HttpSession session, Model model) {
if(user.getUserName().length()>0&&(user.getPassword().equals("123456"))) {
//登陆成功重定向main页面
session.setAttribute("loginuser",user);
return "redirect:/main.html";
}else{
//输入错误信息,添加提示信息给msg并添加request域中
model.addAttribute("msg","账号或者密码错误");
return "login";
}
}
@GetMapping("/main.html")
public String mainPage(){
return "main";
}
同时在判断userName和password的if方法处和doDispatch打断点,进行debug调试
-
在提交登录请求之后,并不是直接使用doDispatch方法,在其之前有:run、service(获取请求是post还是get)、invoke、process、doFilter、internalDoFilter、doPost、processRequest、doDispatch方法。
-
此时经历过一系列方法之后,此时的request域中已经获取到了当前请求
-
之后获取当前请求的处理器