springmvc详细工作流程 springmvc参数封装原理?
springmvc参数封装原理?
(1)前端控制器DispatcherServlet(配置表就行)
功能:中央处理器,可以接收请求,自己不做任何处理,只不过是将请求发送中给其他组件接受处理。DispatcherServlet是整个流程的控制中心。
(2)处理器映射器HandlerMapping(配置表就行)
功能:参照DispatcherServlet邮箱里的url只是请求路径查找Handler
最常见的处理器映射器
:BeanNameUrlHandlerMapping,SimpleUrlHandlerMapping,ControllerClassNameHandlerMapping,DefaultAnnotationHandlerMapping(不个人建议不使用)
(3)处理器适配器HandlerAdapter(配置即可解决)
功能:按照特定的事件规则(HandlerAdapter要求的规则)去不能执行Handler。
是从HandlerAdapter对处理器通过想执行,这是适配器模式的应用,按照扩展多个适配器对许多类型的处理器并且先执行。
最常见的一种的处理器适配器
:HttpRequestHandlerAdapter,SimpleControllerHandlerAdapter,AnnotationMethodHandlerAdapter
(4)处理器Handler即Controller(程序猿c语言设计)
功能:c语言设计Handler时通过HandlerAdapter的要求要做,那样适配器才也可以去正确的执行Handler。
(5)视图解析器ViewReslover(配置即可)
功能:接受视图解析,依据逻辑视图名解析成完全的视图。
ViewResolver全权负责将处理结果化合View视图,ViewResolver是需要根据逻辑视图名解析成物理视图名即具体看的页面地址,再化合View视图对象,到最后对View进行渲出将处理结果是从页面展示展示给用户。
springmvc框架提供给了功能高效View视图类型,如:jstlView、freemarkerView、pdfView...
(6)视图View(程序猿c语言设计)
View是一个接口,利用类支持差别的View类型(jsp、freemarker、pdf...)
MVC工作流程?
SpringMVC工作流程描述:
1.用户向服务器发送跪请,只是请求被Spring前端再控制Servelt DispatcherServlet捕获;
2.DispatcherServlet对各位URL参与解析,得到请求资源标识符(URI)。然后把依据什么该URI,动态链接库HandlerMapping我得到该Handler配置的所有相关的对象(除开Handler对象这些Handler对象不对应的拦截器),后来以HandlerExecutionChain对象的形式回;
3.DispatcherServlet依据完成任务的Handler,选择类型一个比较好的HandlerAdapter;
4.提纯Request中的模型数据,填充后Handler入参,又开始先执行Handler(Controller)。在填充Handler的入参过程中,依据你的配置,Spring将帮你做一些额外的工作:HttpMessageConveter:将帮忙消息(如Json、xml等数据)可以转换成一个对象,将对象转换成为委托的响应信息。数据转换:对只是请求消息进行数据转换。如String装换成Integer、slip等。数据根式化:对跪请消息通过数据磁盘格式化。如将字符串转换的成磁盘格式化数字或格式化日期等。数据不验证:不验证数据的有效性(长度、格式等),验证结果存储位置到BindingResult或Error中。
5.Handler先执行能完成后,向DispatcherServlet前往一个ModelAndView对象;
6.依据什么直接返回的ModelAndView,中,选择一个合适的ViewResolver(必须是巳经需要注册到Spring容器中的ViewResolver)回给DispatcherServlet;
增强Model和View,来软件渲染视图;
8.将渲染结果返回给客户端。
Handler 功能 视图 DispatcherServlet 对象
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。