servlet深探

时间:2022-07-26 04:34:05
在spring4下面使用的是ServletContext作为容器,这个是servlet规范里面设置的;加载了默认的servlet(在spring 4之前都是web.xml中做的),但是在spring 4使用基于约定默认都是使用org.springframework.web.servlet.DispatcherServlet(sping-webmvc-4.x.jar中),继承自FrameworkServlet;
所有的对于serlvetContext的初始化工作(之前web.xml定义的内容)都是在AbstractDispatcherServletInitializer类(sping-webmvc-4.x.jar)的onStartup中进行处理的。
下面是我关心的Filter,registerDispatcherServlet函数中连着创建servlet以及添加filter一并处理;无论是servlet(用于分派请求)还是Filters(可以是多个过滤器)都是servletContext容器里面的对象。