Spring MVC体系结构

时间:2021-11-03 23:47:50

Spring MVC体系结构

DispatcherServlet(前端控制器)
        Spring MVC最核心的类
        web.xml中配置
Handler(处理器):对应MVC中C(Controller层)
         类型:Object(开发*)
        作用:实际处理请求
                  标注了@RequestMapping的方法都可以看作是一个Handler

Handler完成业务逻辑后将返回一个ModelAndView对象给DispatcherServlet,ModelAndView包含了逻辑视图名(非真正的视图)和模型对象信息,DispatcherServlet会将ModelAndView解析为真正的视图对象View,然后ModelAndView中的模型数据对View进行渲染,最终客户端获得响应信息。

核心组件:
1、HandlerMapping(处理器映射)
             BeanNameUrlHandlerMapping(默认)
                    将请求URL映射到同名的控制器Bean上
             DefaultAnnotationHandlerMapping
                     将请求映射到标注@RequestMapping注解的控制和处理方法上
             RequestMappingHandlerMapping      <mvc:annotation-driven/>
2、HandlerAdapter(适配器):具体使用Handler来做事的人
             AnnotationHandlerAdapter
             RequestMappingHandlerMappingAdapter
3、ViewResolver(视图解析器)
             InternalResourceView

Spring MVC构架特点:
1、清晰的角色划分。Spring MVC在Model、View和Controller方面提供了一个非常清晰的角色划分,这三个方面各司其职,各负其责;
2、灵活的配置。因为Spring的核心是IOC,同样在实现MVC上,也可以把各种类当作Bean来通过XML进行配置;
3、提供了大量的控制器接口和实现类。开发者可以使用Spring提供 的控制器实现类,也可以自己实现控制器接口;
4、真正做到与View的实现无关(JSP、Velocity、XSLT等)。它不会强制开发者使用JSP,也可以根据项目需求使用Velocity、XSLT等技术,使用起来更加灵活;
5、国际化支持;
6、面向接口编程;
7、Spring提供了Web应用开发的一整套流程,不仅仅是MVC它们之间可以很方便地结合一起

好框架=减轻开发者处理复杂问题的负担+良好内部扩展+支持它的强大的用户群体。