Spring MVC

Spring mvc它作为一个基于servlet而衍生出来的一个框架他旨在在处理web请求和响应,它的核心就是MVC思想,MVC思想就是model,view和Controller,Controller就是对所接收到的web请求进行一个处理和分发,model呢就是具体的一个处理以及响应的返回而view呢就是处理model所返回的视图去进行一个解析,那么接下来就去看看它具体是怎么实现的.

首先我们的web请求从前端发过来是被一个叫的Dispatcherservlet的组件进行一个接收然后将所接收到的URL转发给HandlerMapping而在Spring MVC中是有一个具体的类RequestMappingHandlerMapping来处理的,在这个类中有一个缓存叫做HandlerMethods它是一个LinkedHashmap它的key只是一个RequestMappingInfo对象,value值是一个HandlerMethod对象首先它会将转发过来的URL分装到一个叫做RequestMappingInfo对象中然后根据这个对象在HandlerMethod词中进行寻找如果有对应的value那就将这个value取出来如果这个value不存在就直接返回一个null,然后将这个value呢放入另一个对象中,这个对象叫做HandlerExecutionChain在这个对象中它不仅包含了HandlerMethod方法也包含了拦截器方法,将这个方法返回给Dispatcherservlet后,Dispatcherservlet会去执行拦截器方法,然后根据拦截器方法最后的一个结果去判定他是否继续进行,如果为true就继续,如果为false就返回,然后将这个对象传给HandlerAdapter然后由他根据HandlerExecutionChain中的HandlerMethod的方法对象去调用Handler也就是被@RequestMapping所修饰的方法,然后这个Handler就会返回一个值,如果说它所在的这个类是被@ResponseBody或者@RestController修饰的那么他就会返回一个值并且被Spring boot进行一个序列化成一个JSON格式的字符串直接返回给前端,如果没有被这些注解所修饰那么它就会返回一个ModelandView对象然后由ViewResolver处理成一个view对象,然后被渲染后返回给前端.

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值