最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

SpringMVC,执行流程,流程源码分析,url-pattern为“*.do”

互联网 admin 12浏览 0评论

SpringMVC,执行流程,流程源码分析,url-pattern为“*.do”



在web.xml文件中,注册DispatchServlet

启动Tomcat时报错

如果给servlet-那么换名字:



启动的时候,在初始化方法中创建SpringMVC容器对象,需要加载配置文件

自定义SpringMVC配置文件的 名称和位置:












在SpringMVC配置文件中:


将jsp文件放入到WEB-INF目录之外,可以直接访问,为了保护,一般都放到了此目录下



为了方便

使用视图解析器,将访问的路径的前缀和后缀统一管理
在SpringMVC配置文件中:
视图解析器是由中央调度器调用的,不需要id


缺点:比较死板,前缀和后缀都是固定的。






doService方法中

是中央调度器的核心方法。


处理器链:handler保存处理器对象,interceptors保存拦截器

dodispatch方法中,继续执行




handlerMappings中两个处理器映射器

检查是否以“/”开头,如果是,加到集合中,用于处理请求

继续跟程序


根据请求,得到处理器,放入到处理器执行链中


ps:自己的理解:首先加载配置文件中的bean,放入到处理器映射器容器里,当请求到来的时候,中央调度器将请求传入到处理器映射器,处理器映射器从自己的容器中找请求为key的处理器,将其放入到处理器执行链中。

接下来,将处理器执行链交给处理器适配器(HandleAdaptor),
从执行链中得到处理器,根据处理器,得到适配器


目前,有三个适配器:


遍历处理器适配器,查看是否与处理器匹配
执行第一个处理器适配器时:

查看处理器是否实现了HTTPRequestHandler借口

继续到第二个适配器

查看处理器是否实现了controller

PS:主要是检测,得到的处理器,到底实现了哪个接口?
当使用SimpleControllerHandlerAdapter


接下来,通过适配器执行处理方法



将处理器转化为实现的接口,即controller,使用接口调用实现的方法

自定义的实现方法



将得到的数据封装到ModelAndView中


疑问:2个处理器映射器,3个处理器适配器哪来的呢?


SpringMVC,执行流程,流程源码分析,url-pattern为“*.do”



在web.xml文件中,注册DispatchServlet

启动Tomcat时报错

如果给servlet-那么换名字:



启动的时候,在初始化方法中创建SpringMVC容器对象,需要加载配置文件

自定义SpringMVC配置文件的 名称和位置:












在SpringMVC配置文件中:


将jsp文件放入到WEB-INF目录之外,可以直接访问,为了保护,一般都放到了此目录下



为了方便

使用视图解析器,将访问的路径的前缀和后缀统一管理
在SpringMVC配置文件中:
视图解析器是由中央调度器调用的,不需要id


缺点:比较死板,前缀和后缀都是固定的。






doService方法中

是中央调度器的核心方法。


处理器链:handler保存处理器对象,interceptors保存拦截器

dodispatch方法中,继续执行




handlerMappings中两个处理器映射器

检查是否以“/”开头,如果是,加到集合中,用于处理请求

继续跟程序


根据请求,得到处理器,放入到处理器执行链中


ps:自己的理解:首先加载配置文件中的bean,放入到处理器映射器容器里,当请求到来的时候,中央调度器将请求传入到处理器映射器,处理器映射器从自己的容器中找请求为key的处理器,将其放入到处理器执行链中。

接下来,将处理器执行链交给处理器适配器(HandleAdaptor),
从执行链中得到处理器,根据处理器,得到适配器


目前,有三个适配器:


遍历处理器适配器,查看是否与处理器匹配
执行第一个处理器适配器时:

查看处理器是否实现了HTTPRequestHandler借口

继续到第二个适配器

查看处理器是否实现了controller

PS:主要是检测,得到的处理器,到底实现了哪个接口?
当使用SimpleControllerHandlerAdapter


接下来,通过适配器执行处理方法



将处理器转化为实现的接口,即controller,使用接口调用实现的方法

自定义的实现方法



将得到的数据封装到ModelAndView中


疑问:2个处理器映射器,3个处理器适配器哪来的呢?


发布评论

评论列表 (0)

  1. 暂无评论