tomcat
绝世好阿狸
这个作者很懒,什么都没留下…
展开
-
【Tomcat】pipeline valve 设计模式
这里侧重设计模式的角度,具体结合tomcat细节的运行机制,准备在另一篇写。只有先把这个模式抽出来理解清楚,再看tomcat的实现会更简单。pipeline模式并不难理解,类似servlet规范中的filter。指的是一个pipeline,需要多个阀门串行处理,流水线作业。那么很简单,我们可以写出如下的代码:import java.util.ArrayList;import ja原创 2018-04-22 12:00:39 · 960 阅读 · 0 评论 -
【Tomcat】connector 连接器
tomcat4.0版本。连接器是tomcat组件中的一员,连同engine组件一起为service组件服务。一个service组件可以包含若干个连接器组件和一个engine组件。如果包含了多个连接器,那么应该是对应了多种传输协议,比如: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout=...原创 2018-04-30 16:04:54 · 490 阅读 · 0 评论 -
【Tomcat】容器
tomcat4.0版本。容器指的是实现了一定功能的组件,可以管理其他组件的生命周期。所以一个容器可能管理其他容器,也可能被其他容器管理。所以容器通常会形成一个层级关系。所以在容器接口中会有与子容器相关的接口: /** * Add a new child Container to those associated with this Container, * if supp...原创 2018-04-30 17:38:28 · 185 阅读 · 0 评论 -
【Tomcat】容器 之 Engine
连接器会把请求转发给下游的容器来处理,而engine容器就是下游容器体系中的顶层容器。其主要职责是根据请求的url来匹配合适的host容器。engine默认实现是standardEngine类:public class StandardEngine extends ContainerBase implements Engine {在构造方法中设置了该容器的basic valve:...原创 2018-04-30 18:14:24 · 271 阅读 · 0 评论 -
【Tomcat】容器 之 Host
tomcat4.0版本。Host容器的职责是根据url的context来匹配特定的context容器处理请求。host在url中就是域名。host的构造方法会加入basic的valve: /** * Create a new StandardHost component with the default basic Valve. */ public S原创 2018-04-30 18:55:52 · 305 阅读 · 0 评论 -
【Tomcat】容器 之 Context
tomcat4.0版本。Context容器对应一个web项目,由host容器根据url中的context匹配到,其作用是根据url中的context后的路径匹配合适的servlet来处理请求。/** * Create a new StandardContext component with the default basic Valve. */ public Stand...原创 2018-05-01 11:10:54 · 518 阅读 · 0 评论 -
【Tomcat】容器 之 Wrapper(Servlet)
tomcat4.0版本。wrapper是四大容器最底层的容器,是请求处理的真正容器。与servlet的区别是:wrapper本质并未处理请求,而是加载对应的servlet来处理,在这之前也会调用filter。首先来看一个context和wrapper容器的调用时序图:与之前容器一样,也是在构造方法里设置自己pipeline的basic 的valve: /** * Create a ...原创 2018-05-01 12:08:40 · 1668 阅读 · 0 评论 -
【Tomcat】生命周期
tomcat4.0版本。生命周期在tomcat中由lifecycle接口表征,容器需要实现这个生命周期接口,这样每一个容器就可以由父容器来掌管生命周期,由父容器启动和终止。public interface Lifecycle { // ----------------------------------------------------- Manifest Constants ...原创 2018-04-25 22:10:34 · 531 阅读 · 0 评论 -
【SpringMVC(五)】三种 控制器
现在我们在使用springmvc时,都是直接用的注解类型的控制器,其实还有另外两种,这里一起回顾下。1、实现org.springframework.web.servlet.mvc.Controller接口:public class HelloController implements Controller { @Override public ModelAndView h...原创 2019-08-04 23:44:24 · 414 阅读 · 0 评论