一、Spring MVC核心原理和组成:
Spring MVC主要由DispatcherServlet、处理器映射、处理器(控制器)、视图解析器、视图组成。
二、各个接口的解释:
HandlerMapping接口 – 处理请求的映射
HandlerMapping接口的实现类:SimpleUrlHandlerMapping通过配置文件,把一个URL映射到Controller,
DefaultAnnotationHandlerMapping 通过注解,把一个URL映射到Controller类上
HandlerAdapter接口 – 处理请求的映射
AnnotationMethodHandlerAdapter类,通过注解,把一个URL映射到Controller类的方法上
Controller接口 – 控制器
由于我们使用了@Controller注解,添加了@Controller注解注解的类就可以担任控制器(Action)的职责,所以我们并没有用到这个接口。
HandlerInterceptor 接口–拦截器
ViewResolver接口的实现类:UrlBasedViewResolver类 通过配置文件,把一个视图名交给到一个View来处理InternalResourceViewResolver类,比上面的类,加入了JSTL的支持
三、配置文件的解释
配置1
配置2
四、注解的解释
五、web.xml文件加载过程
context-param>> listener >> fileter >> servlet(同类多个节点以出现顺序依次加载)
而spring mvc启动过程大致分为两个过程:
ContextLoaderListener初始化,实例化IoC容器,并将此容器实例注册到ServletContext中。
DispatcherServlet初始化。
其中ContextLoaderListener监听器它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。在ContextLoaderListener中关联了ContextLoader这个类,所以整个加载配置过程由ContextLoader来完成。
ContextLoaderListener在web.xml中的配置
ServletContextListener 接口有两个方法:contextInitialized,contextDestroyed。
六、DispatcherServlet
七、spring mvc 框架各个层的关系
core,service,controller,model,support层的关系