详细: http://imtiger.net/blog/2013/10/08/tomcat-source-code-study/
1.
Tomcat中的main入口是org.apache.catalina.startup.Bootstrap#main
public void init()throws Exception{
// Set Catalina path
setCatalinaHome();
setCatalinaBase();
initClassLoaders();
Thread.currentThread().setContextClassLoader(catalinaLoader);
SecurityClassLoad.securityClassLoad(catalinaLoader);
// Load our startup class and call its process() method
if (log.isDebugEnabled())
log.debug("Loading startup class");
// 1
Class<?> startupClass =
catalinaLoader.loadClass
("org.apache.catalina.startup.Catalina");
Object startupInstance = startupClass.newInstance();
// Set the shared extensions class loader
if (log.isDebugEnabled())
log.debug("Setting startup class properties");
String methodName = "setParentClassLoader";
Class<?> paramTypes[] = new Class[1];
paramTypes[0] = Class.forName("java.lang.ClassLoader");
Object paramValues[] = new Object[1];
paramValues[0] = sharedLoader;
Method method =
startupInstance.getClass().getMethod(methodName, paramTypes);
// 2
method.invoke(startupInstance, paramValues);
// 3
catalinaDaemon = startupInstance;
}
2.
ContainerBase的initInternal方法
protected void initInternal() throws LifecycleException {
BlockingQueue<Runnable> startStopQueue =
new LinkedBlockingQueue<Runnable>();
startStopExecutor = new ThreadPoolExecutor(
getStartStopThreadsInternal(),
getStartStopThreadsInternal(), 10, TimeUnit.SECONDS,
startStopQueue,
new StartStopThreadFactory(getName() + "-startStop-"));
startStopExecutor.allowCoreThreadTimeOut(true);
super.initInternal();
}
分享到:
相关推荐
《深入剖析Tomcat源代码:探索底层实现原理》 Tomcat作为开源的Java Servlet容器,是许多Web开发者和系统管理员的首选。它以其轻量级、高效和稳定性著称,而深入理解其源代码,有助于我们更好地优化应用性能,解决...
《深入剖析Tomcat源代码:...总结起来,这份Tomcat源代码是学习Java Web技术的宝贵资料,它涵盖了Servlet和JSP的核心概念,通过实践和分析,开发者能够提升自己的技能水平,为日后的项目开发和问题解决打下坚实基础。
在这个"apache-tomcat源代码"压缩包中,我们主要可以探索Tomcat的核心工作原理以及与Servlet和JSP相关的源代码。 1. **Tomcat架构**: - Tomcat由多个组件构成,如Catalina(核心Servlet容器)、Jasper(JSP引擎)...
【Tomcat源代码详解】 Tomcat,作为Apache软件基金会的旗艦项目,是一个开源的Java Servlet容器,广泛用于部署和管理Web应用程序。它遵循Java EE规范,尤其是Servlet和JSP标准,是许多开发者和企业的首选服务器平台...
笔记作者在深入Tomcat源代码时发现,请求处理过程中,过滤器链的组装是在`StandardWrapperValve`中进行的,具体实现位于`org.apache.catalina.core.ApplicationFilterFactory.createFilterChain`方法。作者尝试复制...
本文将围绕"查看Tomcat源代码"这一主题,详细介绍如何查看和学习Tomcat的源码,以及它能带给我们的技术启示。 首先,我们需要获取Tomcat的源代码。Tomcat是开源的,它的源码托管在Apache Software Foundation的Git...
它的源代码是公开的,这使得开发者能够深入理解其内部工作原理,优化性能,或者为它添加自定义功能。以下是对Tomcat源码及其分析的一些关键知识点: 1. **Servlet与JSP**: Tomcat的核心在于Servlet容器,它负责...
**Apache Tomcat 8源代码解析** Apache Tomcat是一款开源的Java Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范,是许多Web应用开发者的重要工具。Tomcat 8是其发展的一个重要版本,引入了许多新...
当你在Eclipse中运行Tomcat源代码时,需要这个库来解析和编译Java源文件。Eclipse JDT允许开发者进行语法检查、自动完成、错误检测等功能,使得开发过程更为高效。 2. **ant.jar**: Apache Ant是一个Java库和...
这个源代码压缩包提供了Tomcat6的完整源码,对于开发者来说,深入理解其内部工作原理、优化性能或者定制功能都具有极大的价值。下面将详细介绍Tomcat6的一些关键知识点。 1. **Servlet容器**: Tomcat作为一个...
《深入剖析Tomcat7源代码》 Tomcat7是一款广泛使用的开源Java Servlet容器,它实现了Java EE中的Web应用规范,包括Servlet、JSP和EL(Expression Language)等。本资源包含Tomcat7的源代码以及运行所需的jar包,...
tomcat源码分析,tomcat原理分析,底层机制,一些源代码等等
《深入剖析Tomcat源代码》是一本专注于揭示Tomcat内部工作原理的专业书籍,它通过详细的源代码分析,帮助读者理解这个流行的开源Java Servlet容器的工作机制。Tomcat是Apache软件基金会的项目,作为轻量级应用服务器...
**Tomcat 8源代码解析:** 1. **结构与目录**:Tomcat的源码结构分为几个主要部分,如`common`、`catalina`、`jdbc`、`jsp`等,分别对应了公共库、核心服务器逻辑、数据库连接池和JSP支持。`conf`目录包含配置文件,...
《深入剖析Tomcat 5.0.28源代码》 Tomcat,作为Apache软件基金会下的一个开源项目,是Java Servlet和JavaServer Pages...因此,无论是初学者还是经验丰富的开发者,对Tomcat源代码的探索都是一项极其有价值的任务。
Apache Tomcat 7 是一个广泛...通过分析和学习Tomcat 7的源代码,开发者可以提升对Web服务器运行机制的理解,进而更好地优化应用程序,解决性能问题,或者开发新的功能。同时,这也是向高级Java EE开发迈进的重要一步。
《深入剖析Tomcat6源代码:运行与调试指南》 Tomcat6作为一款经典的开源Java Servlet容器,其源代码的学习对于理解Java Web应用的运行机制、优化服务器性能以及解决实际问题具有重大价值。本篇文章将从以下几个方面...
这个源代码版本提供了深入理解Tomcat工作原理的机会,对于开发者来说是一份宝贵的资源。下面将详细介绍Tomcat 6.0.41源代码中的关键组件、功能以及如何在Eclipse中进行编译和运行。 一、Tomcat架构 Tomcat由几个...
在深入研究Tomcat 5.5的源代码时,我们可以学习到以下几个关键知识点: 1. **Servlet和JSP规范**: Tomcat 5.5遵循Servlet 2.4和JSP 2.0规范。源代码中包含了实现这些规范的类和接口,例如`org.apache.catalina....