DispatcherServlet

DispatcherServlet是实现Servlet接口的实现类。

Servlet生命周期由serlvet容器来控制。分为3个阶段:初始化,运行和销毁。

(1)初始化阶段。

     Servlet容器加载servlet类,把servlet类的.class文件中的数据读到内存中。

     Servlet容器创建一个ServletConfig对象。ServletConfig对象包含了servlet的初始化配置信息。

    Servlet容器创建一个servlet对象。

    Servlet容器调用servlet对象的init进行初始化。

(2)运行阶段。

当Servlet容器接收到一个请求,创建servletRequest和servletResponse对象,然后调用servlet方法。Servlet通过servletRequest对象获取请求信息。处理请求。再通过servletResponse对象请求响应结果。然后销毁servletRequest和servletResponse对象.

(3)销毁阶段。

当web应用终止,servlet容器会先调用servlet对象的destory方法,然后再销毁servlet对象,同时也会销毁ServletConfig对象。

DispatcherServlet的逻辑处理

doService方法调用doDispatch方法

doDispatch函数

1.checkMultipart

如果请求是MultipartContent,则转换为MultipartHttpServletRequest类型的请求。

2.getHandler(HandlerMapping)

  根据request信息寻找对应的Handler

  (1)lookupHandler:根据路径通过直接匹配或通配符匹配寻找Handler.然后在buildPathExposingHandler函数将Handler封装成HandlerExecutionChain类型。

  (2)getHandlerExecutionChain函数将配置中的对应拦截器加入到执行链中,保证这些拦截器可以有效地作用于目标对象。

3.getHandlerAdapter:根据当前的Handler寻找对应的HandlerAdapter.

4.processHandlerException:异常师徒的处理。

5.Render:根据视图跳转页面。

 

转载于:https://my.oschina.net/yangfeima/blog/909951

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值