Spring -> Spring MVC的主要组件?

Spring MVC的主要组件?

DispatcherServlet:前端控制器

  • 主要负责捕获来自客户端的请求和调度各个组件

HandlerMapping

  • initHandlerMappings,处理器映射器,根据⽤户请求的资源uri来查找Handler的。
  • 在 SpringMVC中会有很多请求,每个请求都需要⼀个Handler处理
  • 具体接收到⼀个请求之后使⽤哪个Handler进⾏,这就是HandlerMapping需要做的事。

HandlerAdapter

  • initHandlerAdapters,适配器。

  • 因为SpringMVC中的Handler可以是任意的形式,只要能处理请求就ok,但是Servlet需要的处理⽅法的结构却是固定的,都是以request和response为参数的⽅法。

  • 如何让固定的Servlet处理⽅法调⽤灵活的Handler来进⾏处理呢?

  • 这就是HandlerAdapter要做的事情。

Handler:也就是处理器。

  • 它直接应对着MVC中的C也就是Controller层,它的具体表现形式有很多,可以是类,也可以是⽅法
  • 在Controller层中@RequestMapping标注的所有⽅法都可以看成是⼀个Handler,只要可以实际处理请求就可以是Handler

HandlerExceptionResolver

  • initHandlerExceptionResolvers, 其它组件都是⽤来⼲活的。
  • 在⼲活的过程中难免会出现问题,出问题后怎么办呢?
  • 这就需要有⼀个专⻔的⻆⾊对异常情况进⾏处理
  • 在SpringMVC中就是HandlerExceptionResolver。
  • 具体来说,此组件的作⽤是根据异常设置ModelAndView,之后再交给 render⽅法进⾏渲染。
    • 出错404

ViewResolver

  • initViewResolvers,ViewResolver⽤来将String类型的视图名和Locale解析为View类型的视

  • View是⽤来渲染⻚⾯的,也就是将程序返回的参数填⼊模板⾥,⽣成html(也可能是其它类型)⽂

件。

  • 这⾥就有两个关键问题:使⽤哪个模板?

    • ⽤什么技术(规则)填⼊参数?这其实是ViewResolver主要要做的⼯作
    • ViewResolver需要找到渲染所⽤的模板和所⽤的技术(也就是视图的类型)进⾏渲染,
  • 具体的渲染过程则交由不同的视图⾃⼰完成。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值