SpringMVC工作原理

作者: 哈士奇的乐趣 | 来源:发表于2017-02-23 14:56 被阅读1919次

虽然用了很长时间的SpringMVC这个框架,自己感觉运用的很6,可是近期面试却发现了一个很可怕的问题,什么是SpringMVC?SpringMVC的工作原理是什么?SpringMVC的优缺点有哪些?以前运用的时候,真的没有考虑到这些问题!

现在我们来探讨一下SpringMVC。

1.什么是SpringMVC?

答:Spring是一个模块,基于MVC的一个框架。MVC是一种设计模式。M代表model;V代表view;C代表controller。M指的是模型,即dao层和service层,V指的是视图,即jsp html 等。C指的是controller,即控制器。

2.SpringMVC的工作原理是什么?

答:用户发送请求由前置控制器DispatcherServlet来决定哪一个页面的控制器进行处理并把请求委托给它,在由HandlerMapping将请求映射为HandlerExecutionChain对象(包含Handler处理器对象(页面控制器),多个HandlerInterceptor对象即拦截器),在返回给DispatcherServlet,DispatcherServlet在次发送请求给HandlerAdapter,HandlerAdapter将处理器包装为适配器,调用处理器相应功能处理方法,Handler返回ModelAnView给HandlerAdapter,HandlerAdapter发送给DispatcherServlet进行视图的解析(ViewResolver),ViewResolver将逻辑视图解析为具体的视图,返回给DispatcherServlet,在进行视图的渲染(View),返回给DispatcherServlet,最后通过DispatcherServlet将视图返回给用户。

3.分工职责

    3.1 前置控制器DispatcherServlet

            作用:接收请求  返回结果

    3.2 映射处理器 HandlerMapping

          作用:根据请求映射为HandlerExecutionChain对象,查找对应的Handler

    3.3 处理器适配 HandlerAdapter

          作用:调用处理器相对应的处理方法,返回ViewAndModel

    3.4  视图解析器 ViewResolver

    3.5  视图的渲染 View

4.SpringMVC的优缺点?

答:1.方便解耦,简化开发,职责鲜明,分工明确

        2.AOP的很好支持,方便面向切面编程

        3.对主流的框架提供了很好的集成支持

        4.Spring属于低侵入,代码污染极低

相关文章

网友评论

    本文标题:SpringMVC工作原理

    本文链接:https://www.haomeiwen.com/subject/kshbwttx.html