【面试题 - springmvc】SpringMVC的流程

编程知识 更新时间:2023-04-07 14:40:25

springmvc

  • 1. 流程
  • 2. SpringMVC常用的注解有哪些?

1. 流程

  1. 用户发送请求至前端控制器DispatcherServlet;
  2. DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle;
  3. 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet;
  4. DispatcherServlet 调用 HandlerAdapter处理器适配器;
  5. HandlerAdapter 经过适配调用 具体处理器(Handler,也叫后端控制器);
  6. Handler执行完成返回ModelAndView;
  7. HandlerAdapter将Handler执行结果ModelAndView返回给DispatcherServlet;
  8. DispatcherServlet将ModelAndView传给ViewResolver视图解析器进行解析;
  9. ViewResolver解析后返回具体View;
  10. DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)
  11. 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的流程

本文发布于:2023-04-07 14:40:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/75e23abdbe94957aff860a923fda9734.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:面试题   流程   springmvc   SpringMVC

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 53621文章数
  • 14阅读数
  • 0评论数