发布网友 发布时间:2024-10-24 10:42
共1个回答
热心网友 时间:2024-10-31 07:08
学习Tomcat(五)之Context和Wrapper容器
本文将介绍Tomcat的Context容器和Wrapper容器。一个Host可以包含多个Context,每个Context对应一个应用,一个Context又可以包含多个Wrapper,每个Wrapper包含一个Servlet容器。一个应用可以有多个Servlet实现。
Tomcat请求流程如下:当Http请求访问Tomcat时,经过连接器和四种类型容器的流转,最终到达请求的目标应用。
在配置Tomcat应用程序时,需要配置一个web.xml文件,这是Context容器解析的依据。默认配置包括两个WrapperContext和Servlet配置。web.xml中经常出现listener标签,用于监听Context容器的声明周期事件。
Wrapper容器是最小的容器,用于加载servlet类并实例化,调用service方法处理请求。对于线程安全的servlet,如Spring的DispatchServlet,Tomcat无需额外保证并发安全。非线程安全的servlet可通过SingleThreadModel实现多请求下正常运行。
Wrapper容器载入servlet类并实例化,使用专门类加载器加载servlet。基本阀门StandardWrapperValve会在调用servlet容器前执行用户配置的过滤器链Filter。
总之,Context容器和Wrapper容器在Tomcat中扮演着关键角色,分别负责管理和运行应用与Servlet,确保请求的顺利处理和应用的高效运行。