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

目录

1.SpringMVC执行流程分为以下两种

2.非前后端分离的SpringMVC的执行流程

3.前后端分离的项目SpringMVC执行流程

4. 面试题



1.SpringMVC执行流程分为以下两种

2.非前后端分离的SpringMVC的执行流程

流程图:

更加生动的描述:

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

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

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

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

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


3.前后端分离的项目SpringMVC执行流程

和上面非前后端分离的SpringMVC请求流程大致相同,区别在于

后端向前端返回一个JSON字符串,不需要视图解析器渲染。

那怎么让后端hander返回一个JSON字符串呢?

只需要在hander上添加@ResponseBody注解即可,内部会通过HttpMessageConverter来将返回结果转为JSON并响应

4. 面试题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值