springmvc
- 1. 流程
- 2. SpringMVC常用的注解有哪些?
1. 流程
- 用户发送请求至前端控制器DispatcherServlet;
- DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle;
- 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet;
- DispatcherServlet 调用 HandlerAdapter处理器适配器;
- HandlerAdapter 经过适配调用 具体处理器(Handler,也叫后端控制器);
- Handler执行完成返回ModelAndView;
- HandlerAdapter将Handler执行结果ModelAndView返回给DispatcherServlet;
- DispatcherServlet将ModelAndView传给ViewResolver视图解析器进行解析;
- ViewResolver解析后返回具体View;
- DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)
- DispatcherServlet响应用户。
2. SpringMVC常用的注解有哪些?
1.@RestController=@ResponseBody+@Controller
2.@RequestMapping @GetMapping @PostMapping
@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。
@PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。
3.@RequestParam
//加或不加@RequestParam注解
@RequestMapping("/list")
public String test(int userId) {
return "list";
}
@RequestMapping("/list")
public String test(@RequestParam int userId) {
return "list";
}
第一种写法参数为非必传,第二种写法参数为必传。参数名为userId。
第二种写法可以通过@RequestParam(required = false)设置为非必传。因为required值默认是true,所以默认必传。
第二种写法可以通过@RequestParam(“userId”)或者@RequestParam(value = “userId”)指定参数名。
第二种写法可以通过@RequestParam(defaultValue = “0”)指定参数默认值
更多推荐
【面试题 - springmvc】SpringMVC的流程
发布评论