SpringMVC执行流程(视图阶段JSP、前后端分离阶段)、面试题-2.非前后端分离的SpringMVC的执行流程

时间:2024-10-30 15:18:00

流程图:

更加生动的描述:

DisPatcherServlet (CEO) :接收前端用户请求

handlerMapping(秘书) :   缓存hander方法和地址

HandlerAdapter(经理 )  :简化请求参数和响应结果,请求参数会被简化为hander需要的参数,响应结果会被封装到response中

视图解析器 (财务 ): 将逻辑视图渲染为真正的页面,
(非必须的,前后端分离项目返回JSON数据就不需要,后面会再讲到) 

用户向CEO(DispatchServlet)发起请求 某个方法(hander),CEO让秘书(handerMapping)查询一下这个方法(hander),如果存在,秘书会向CEO返回该方法的方法名和地址(URL),CEO 会把这个方法的信息交给经理(handerAdapter)执行,经理安排员工(处理器hander)执行该方法,期间经理会对请求和响应结果都做简化处理,之后向CEO返回执行结果(ModeAndView),CEO再把结果(视图名字)交给财务(视图解析器)处理,财务会根据前缀,后缀,以及视图名字找到对应的页面,并返回给CEO结果(view)。