springMVC执行过程

一、重要类解释

1,DispatcherServlet:前端控制器,页面发起请求时会将request提交至DispatcherServlet。在web项目中DispatcherServlet处于web.xml中的servlet,项目启动时会将此类加载。spring-mvc.xml会作为此类的init-param(初始化参数)被加载。

2、HandlerMapping :处理器映射器,通过扩展处理器映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。程序启动的时候会将所有的handlerMapping加载进handlerMappings(DispatcherServlet的一个属性)我知道的共有4种1、RequestMappingHandlerMapping 2、BeanNameUrlHandlerMapping 3、SimpleUrlHandlerMapping 4、DefaultAnnotationHandlerMapping。

3、HandlerExecutionChain :处理器执行链 由某一具体处理器(其对应某controller中的某个具体方法)+多个拦截器(interceptor 配置于spring-mvc.xml文件中)组成。

4,HandlerAdapter:处理器适配器,通过扩展处理器适配器,支持更多类型的处理器,程序启动的时候会将多有的handleradapter加载进handlerAdapters (DispatcherServlet的一个属性)我知道的有3种 1、RequestMappingHandlerAdapter 2、HttpRequestHandlerAdapter     3、SimpleControllerHandlerAdapter。

5、ModelAndView:模型视图

二、springMVC执行过程

1、页面发起请求至dispatcherservlet

2、dispatcherservlet根据请求(request)获取 HandlerExecutionChain

     2.1获取HandlerExecutionChain的过程:通过匹配不同的handlerMappings去执行对应的getHandler()方法,并将request作为参数              传入,如果返回的值不为空及为HandlerExecutionChain并将其返回。

3、dispatcherservlet通过HandlerExecutionChain获取HandlerAdapter。

4、dispatcherservlet通过HandlerExecutionChain执行其链中拦截器的prehandle()方法

5、dispatcherservlet通过HandlerAdapter执行具体的处理器(用户自己编写的controller中的method)并得到ModelAndView

6、dispatcherservlet通过HandlerExecutionChain执行其链中拦截器的postHandle()方法

7、dispatcherservlet进行视图渲染

8、dispatcherservlet返回视图给用户(界面)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值