Servlet - 图1

ServletConfig&ServletContext

  • ServletConfig
    Servlet - 图2
  • ServletContext

Servlet - 图3

DispatcherServlet

GenericServlet

  1. 实现ServletConfig接口,直接调用ServletConfig方法。
  2. 提供无参init方法
  3. 提供log

GenericServlet与协议无关

HttpServlet

将ServletRequest和ServletResponse转换为HttpServletRequest和HttpServletResponse
将service方法分解到doGet doPost中。
(不过springmvc又将这些合并在一起DispatcherServlet处理)

HttpServletBean

init()方法

  • 使用BeanWrapper,将this(DispatcherServlet)设置PropertyValues。

    FrameworkServlet

  • initServletBean()

    • 初始化webApplicationContext

image.png

  • springboot是第一种,构造函数中传入applicationcontext

    DispatcherServlet mapping路径

    /* 和 / 的区别

    DefaultServlet & JspServlet

    tomcat中配置的两个Servlet
    image.png
    image.png

  • DefaultServlet主要用于处理静态资源

  • JspServlet主要根据JSP文件生成对应的Servlet。

    DefaultServlet:处理静态资源

    静态资源处理

    JspServlet:DispatcherServlet 如何显示页面的

    在AbstractView#render()中
    image.png
    forward到JspServlet(或其他)