谈谈你对 SpringMVC的理解
普通人回答
Springframewok生态下的一个
基于MVC杂构的WEB端的 一个模块
M呢指的Model层 模块模型层
V 表示View也是我们的这个视图层
C Controller代表的是控制器
组件有:
- 像前端控制器
- 处理器映射器
- 处理器适配器
- 视图解析器
- 视图 等
高手回答
是—种基开Java吾言开发
实现了WEb MVC设计模式
请求驱动类型的轻量级WEb框架
采用MVC架构模式的一个思想
-
通过把Modal, View,Controll分离
-
去把Web层进行职责解耦
-
从而把复杂的Wb应用
-
分成逻辑清晰:的几个组件
在Sping MVC中有9大重要的组件
文件处理器MultipartResolver
MultipartResolver
文件处理器
- 他对应的初始化方法是
- initMultipartResolver
- 他是用来去处理文件上传请求的
当前的环境处理器LocaleResolver
LocaleResolver
他是表示当前的环境处理器
他对应的初始化方法是
initLocaleResolver
主要两个地方去用到Locale
- 一个是VieuResolvar 视图解的的时候
- 第二个是用到国际化资源 或者主题的时候
主题处理器ThemeResolVer
ThemeResolVer
主题处理器
他对应的初始化方法是
initThemeResolver
是用来解析主题的也就是解析样式
图片以下他们所形成的显示效果的一个集合
*处理器映射器 HandlerMapping
HandlerMapping
处理器映射器
他对应的初始化方法是
initHandlerMappings
在SprinqMVC中呢
会有很多的请求
每个请求都需要一个Handler处理
HandlerMapping的主要作用
找到请求相应的处理器Handler和lnterceptor
*处理器适配器 HandlerAdapter
HandlerAdapter
处理器适配器
他对应的初始他方法是
initHandlerAdapters
他就是一个适配器
HandlerAdaptars他要做的事情呢
- 如何让 固定的Servlet处理方法
- 调用灵活的Handlr进行处理
异常处理器HandlerexceptionPesolver
HandlerexceptionPesolver
异常处理器
对应的初始他方法是
initHandlerExceptionResolvers
作用 是处理其他组件产生异常情况
视图名称翻译器
RequeStToViewName
TransIator
视图名称翻译器
对应的初始他方法是
initRequestToViewNameTranslator
它的主要作用是从请求中去获
ViewName
有的Handla呢 处理完成后呢 并没有设置View
也没有有设置ViewName
这个时侯我们需要从request去获取
而RequestToViewNameTranslator
主要就是去为requast提供获取 ViewName的一个实现
页面渲媒处理器 ViewResolvers
ViewResolvers
页面渲媒处理器
对应的初始他方法是
initViewResolvers
ViewResolvers 的主要作用是
把String类型的视图名 和 Locale解析为 View类型的视图
Resolver
英
/rɪˈzɒlvə(r)
n.
溶剂;[电子] 分解器;下决心者
resolve
v.
解决(问题或困难);决定,下定决心;作出决议,表决;分解,转化;(使)(症状、病情)消散,
n.
<正式>决心,坚定的信念;<美>正式决定,决议;决定要做的事
参数传递管理器FlashMapManager
FlashMapManager
参数传递管理器
他对应的初始他方法是
initFlashMapManager
在实际应用中呢 为子避免重复的提交
可以在处理完post清求后 重新定向到—个
另外一个get请求 ,这个 get请求,可以用来返回页面
渲染所需要的一些信息
flashMap就是用于这种请求
从定问场景中的一些参数传递
Spring MVC的九大组件中啊
涉及到情求处理 响应的核心组件 分别是:
HandlerMapping
HandlerAdapter
ViewResolver
具体调用流程
具体的调用分为:以下几个步骤
第一个HandlerMapping回调 HandlerAdapter
- 第二个HandlarAdapter会返回 ModaIAndView
第三个是ModaIAndView
-
会根据用户传入的参数
-
得到ViewResolvers
第四个ViewResolvers会将用户传入的参数,封装成 View
- 交给 引擎 进行渲然
ModeIAndView 和View类
并不属于,Spring MVC九大组件