
SpringMVC
郭敬仰
这个作者很懒,什么都没留下…
展开
-
《九》DispatcherServlet视图呈现设计
(1)通过render方法对ModelAndView对象中的数据进行呈现(2)根据视图对象的名字获取视图对象,最后是通过ioc容器获取到的(3)以jstlview为例解析view的实现继承关系为:exposeModelAsRequestAttributes里面的实现如下...原创 2019-10-15 20:24:00 · 230 阅读 · 0 评论 -
《八》springMVC对HTTP请求的分发处理
调用过程时序图(1)代码调用流程(2)获取handler会从httprequerst中获取handler,通过遍历所有的handlerMapping最后返回需要的handler(3)适配器作用通过HandlerAdapter适配器对handler的合法性进行判断,然后返回适配结果。判断手段其实就判断是不是controller类型的(4)具体的调用通过触发handleReq...原创 2019-10-15 20:17:09 · 231 阅读 · 0 评论 -
《七》HandlerMapping对请求的映射处理
getHandlerInternal接收HTTP请求作为参数,从HTTP中得到URL,然后从urlMapping中获取handler原创 2019-10-15 19:56:07 · 289 阅读 · 0 评论 -
《六》HandlerMapping的配置和设计原理
(1)HandlerMapping类继承关系图(2)HandlerMapping是一个抽象类接口,以SimpleUrlHandlerMapping为例分析HandlerMapping的设计与实现这些map持有HTTP请求与controller的映射关系。(3)HandlerExecutionChain拦截器链的实现(4)AbstractUrlHandlerMapping对handl...原创 2019-10-15 19:54:42 · 384 阅读 · 0 评论 -
《五》DispatcherServlet的启动以及初始化
初始化建立上下文的流程(1)初始化从HttpServletBean的init方法开始,从web.xml中读取参数设置到BeanWrapper中这里开始初始化上下文这样DispatcherServlet就持有一个以自己的Servlet命名的IOC容器,这个容器是一个WebApplicationContext对象。初始化过程HandlerMapping为HTTP请求找到相对于的con...原创 2019-10-15 19:51:19 · 243 阅读 · 0 评论 -
《四》MVC继承关系以及设计调用流程
(1)类继承关系图(2)调用时序图DispatcherServlet可以分为两个部分:初始化部分,由HttpServletBean的init开始,调用initServletBean();最终调用DispatcherServlet的initStrategies方法。响应部分,对http请求进行响应,由DispatcherServlet的doService()方法作为入口最终调用HTTP的...原创 2019-10-15 19:38:59 · 230 阅读 · 0 评论 -
《三》ServletContext的设计与实现
(1)(2)ServletContextListener是ServletContext的监听者,当ServletContext发生变化的时候会触发相应的动作。如contextInitialized与contextDestroyed而ContextLoaderListener实现了ServletContext从而实现容器的初始化与销毁。(3)参考《一》ContextLoader对ioc初始化...原创 2019-10-15 18:20:36 · 226 阅读 · 0 评论 -
《二》web容器的上下文设计
(1)WebApplicationContext接口集成层次关系如图:这里开始加载Bean的定义,依然是容器refresh()时启动:原创 2019-10-15 18:02:15 · 188 阅读 · 0 评论 -
《一》web容器启动基本过程
(1)启动流程时序图(2)web容器的启动可以从配置的ContextLoaderListener入手,在tomcat启动的时候会触发它,结构为:(3)ContextLoader是ContextLoaderListener的基类,上下文体系的建立就是由ContextLoader来完成的。具体web容器初始化的代码流程为:上面还有contextDestroyed这个方法,可见web容器...原创 2019-10-15 17:51:37 · 320 阅读 · 0 评论