tomcat
文章平均质量分 73
大漠穷秋_
不停于现状,不止于代码
展开
-
tomcat源码解析-container
在tomcat中,容器主要分为四种,engine,host,context,wrapper。在详细分析tomcat源码之前,我们先来看看容器的类继承层级是怎样的。这里,我们先说明一下容器的包含关系。engine包含多个host,host包含多个context,context包含多个wrapper,每个wrapper对应一个servlet。engine,我们可以看成是容器对外提供功能的入口,每个Engine是Host的集合,用于管理各个Host。Host,我们可以看成虚拟主机,一个tomcat可以支转载 2021-09-17 22:17:14 · 269 阅读 · 0 评论 -
tomcat源码分析-pipeline管道机制
本文主要目的是讲解tomcat中的pipeline机制我们前面文章介绍过,tomcat中container有四种,分别是engine,host,context,wrapper,这4个。container的实现类分别是StandardEngine,StandardHost,StandardContext,StandardWrapper。四个容器是包含关系,engine包含host,host包含context,context,包含wrapper,wappper代表最基础的一个servlet。tomcat原创 2021-09-12 20:37:13 · 550 阅读 · 0 评论 -
tomcat源码-engine及standardEngine实现
我们看下engine,引擎的执行server.xml如下engine下包含了host节点 <Engine name="Catalina" defaultHost="localhost"> <!--For clustering, please take a look at documentation at: /docs/cluster-howto.html (simple how to) /docs/config/clust原创 2021-09-12 14:24:42 · 234 阅读 · 0 评论 -
tomcat源码分析-executor及其实现StandardThreadExecutor
executorexecutor 是引擎,用户请求是经过executor进行处理的,知觉告诉我们这应该是一个多线程,线程池的容器,我们先从类的关系看下;public interface Executor extends java.util.concurrent.Executor, Lifecycle { public String getName(); @Deprecated void execute(Runnable command, long timeout, TimeU原创 2021-09-11 01:09:09 · 532 阅读 · 0 评论 -
tomcat源码分析-service及standardService分析
前面已经知道,server下可以包含多个service,整体类的继承结构原创 2021-09-09 00:22:55 · 244 阅读 · 0 评论 -
tomcat源码分析-server原理及其实现standardServer
理解思路继承结构我们要从高一点的维度去理解Server的结构设计,我们看下server对应的server.xml<?xml version="1.0" encoding="UTF-8"?>//这里端口8005负责监听tomcat的关闭请求<Server port="8005" shutdown="SHUTDOWN">//监听器相关 <Listener className="org.apache.catalina.startup.VersionLoggerL原创 2021-09-07 00:18:40 · 329 阅读 · 0 评论 -
tomcat源码分析-bootstrap和catalina启动
Tomcat架构图网上提供了的Tomcat成熟的架构图,感觉比较形象和全面贴出来看下。启动我们看下整体的初始化和启动的流程,在理解的时候可以直接和Tomcat架构设计中组件关联上:这里涉及的组件有:...原创 2021-09-06 00:25:18 · 298 阅读 · 1 评论 -
Tomcat架构以及生命周期和事件监听
讲一下tomcat的架构和生命周期和事件监听机制,因为东西很多,会在后面的tomcat源码中阐述;Tomcat结构Tomcat 生命周期tomcat架构是一种树状的层级管理结构,组件会有自己的父节点,也可以有自己的孩子节点,每个节点都是组件,每个组件都有生命周期,为了管理方便,子节点的生命周期交给父节点来管理。每个组件的生命周期的管理主要是由接口org.apache.catalina.Lifecycle和一个枚举org.apache.catalina.LifecycleState来表示。Lif原创 2021-09-04 20:14:18 · 448 阅读 · 1 评论 -
tomcat中http和socket关系
我们知道http协议是建立再socket之上的。1.在web领域,常见的场景是浏览器发送请求到服务器;在每次请求时都是断开服务器连接,第一次请求时,客户端浏览器会发送close,则tomcat会立即关掉socket;如果每次请求不是断开服务器连接,那么请求时发送keep-alive,则tomcat不会立即关掉socket;...原创 2021-09-04 16:18:15 · 902 阅读 · 0 评论 -
tomcat中的类加载器和安全机制
类加载器java中的类并不是一次加载完成的,而是按需加载。类加载器是用于加载java类到java虚拟机中的组件,它负责读取java字节码,并转换成 java.lang.Class 的一个实例,使字节码.class文件可以运行。一般类加载器负责根据一个指定的类找到对应的字节码,然后根据这些字节码定义一个java类。另外,它还可以加载资源,包括图像文件和配置文件。类加载器可以使java类动态地加载到jvm中并运行,即可在程序运行时再加载类,提供了很灵活的动态加载方式。启动类加载器(Bootstrap C原创 2021-09-03 00:07:50 · 387 阅读 · 1 评论