SpringMVC有那9大组件?

Handler:也就是处理器。它(不是9大组件之一)直接应对着MVC中的C也就是Controller层,它的具体表现形式有很多,可以是类,也可以是方法。在Controller层中@RequestMapping标注的所有方法都可以看成是一个Handler,只要可以实际处理请求就可以是Handler
 

1.HandlerMapping
是一个接口,可以看成url-handler的映射,根据解析request中的url找到相应的处理器。因为Handler (Controller)有两种形式,一种是基于类的Handler,另一种定举于Method的Handler(也就是我们常用的)


2.HandlerAdapter

处理器适配器。因为SpringMVC中的Handler可以是任意的形式,只要能处理请求就ok,但是Servlet需要的处理方法的结构却是固定的,都是以request和response为参数的方法。如何让固定的Servlet处理方法调用灵活的Handler来进行处理呢?这就是HandlerAdapter要做的事情。
Handler是用来干活的工具;HandlerMapping用于根据需要干的活找到相应的工具;HandlerAdapter是使用工具干活的人。


3.HandlerExceptionResolver
对异常的处理,在任何地方都可能出现异常,但是每个地方都要自己去处理很麻烦


4.ViewResolver
视图解析器用来将String类型的视图名和Locale解析为View类型的视图

5.RequestToViewNameTranslator
有的Handler (Controller)处理完后没有设置返回类型,比如是void方法,这是就需要从request中获取viewName。当接口返回值位void,就要用到,找视图页面名字做渲染等;


6.LocaleResolver
从request中解析出Locale。Locale表示一个区域,比如zh-cn,对不同的区域的用户,显示不同的结果,这就是i18n (SpringMVC中有具体的拦截器LocaleChangelnterceptor),全球化,有的页面上有中文选项,点击“中文”就变成中文界面


7.ThemeResolver
主题解析,这种类似于我们手机更换主题,不同的Ul,css等,一般不会更改,所以用不着

8、MultipartResolver
initMultipartResolver(context),用于处理上传请求。处理方法是将普通的request包装成
MultipartHttpServletRequest,后者可以直接调用getFile方法获取File,如果上传多个文件,还可以调用getFileMap得到FileName->File结构的Map。此组件中一共有三个方法,作用分别是判断是不是上传请求,将request包装成MultipartHttpServletRequest、处理完后清理上传过程中产生的临时资源。


9、FlashMapManager
initFlashMapManager(context),用来管理FlashMap的,FlashMap主要用在redirect中传递参数。
 

附 MVC执行流程:

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值