[面试|SpringMVC] “是大佬鸭”问我怎么“朴素”地表达SpringMVC工作流程
如题,三天前的晚上,鸭鸭大佬问我怎么“朴素”表达SpringMVC?以下是我当时的回答,记录一下。日后面试(面经),再做修改或补充【简单的描述流程】:浏览器发起请求,例如GET方式请求的/request,首先会被前端控制器(DispatcherServlet)拦截到。拦截后,交给处理器映射器(HandlerMapping),处理器映射器拿到GET方式的/request请求,会去IOC容器里寻找能够
·
如题,三天前的晚上,“是大佬鸭”,突然问我,怎么“朴素”表达SpringMVC?以下是我当时的回答,先记录一下。日后面试(面经),再做修改或补充
【简单的描述流程】:
- 浏览器发起请求,例如GET方式请求的/request,首先会被前端控制器(DispatcherServlet)拦截到。
- 拦截后,交给处理器映射器(HandlerMapping),处理器映射器拿到GET方式的/request请求,会去IOC容器里寻找能够处理它的控制器,然后将找到的具体控制器告诉前端控制器(DispatcherServlet)。
- 前端控制器(DispatcherServlet)拿到具体的控制器后,会去访问这个控制器Controller。控制器内部会调用相关的业务逻辑代码,然后将数据封装到ModelAndView(包含携带的数据和跳转的视图信息)中,返回给前端控制器(DispatcherServlet)。
- 前端控制器(DispatcherServlet)拿到ModelAndView后,会把它传递给视图解析器(ViewResolver),视图解析器进行解析后,再次传递给前端控制器(DispatcherServlet)。
- 一旦确定视图View,前端控制器(DispatcherServlet)将把模型数据传递给视图View,最后呈现在浏览器中。
更多推荐
已为社区贡献4条内容
所有评论(0)