一. 概览
本文所涉及的Tomcat为6.0版本。
Tomcat的启动始于org.apache.catalina.startup.Bootstrap#main(),下面来列举一下相关的源代码:
public static void main(String args[]) {
if (daemon == null) {
daemon = new Bootstrap();
try {
/* 初始化 */
daemon.init();
} catch (Throwable t) {
t.printStackTrace();
return;
}
}
try {
String command = "start";
if (args.length > 0) {
/* 最后一个命令行参数赋给command */
command = args[args.length - 1];
}
if (command.equals("startd")) {
args[0] = "start";
daemon.load(args);
daemon.start();
} else if (command.equals("stopd")) {
args[0] = "stop";
daemon.stop();
} else if (command.equals("start")) {
daemon.setAwait(true);// 使用await
daemon.load(args);// 载入守护线程
daemon.start();// 开启容器
} else if (command.equals("stop")) {
daemon.stopServer(args);
} else {
log.warn("Bootstrap: command \"" + command + "\" does not exist.");
}
} catch (Throwable t) {
t.printStackTrace();
}
}
从整个main方法可以大致看出tomcat的启动过程,首先生成一个Bootstrap单例,然后调用它的init()方法,然后判断命令行参数,最后调用start()开启容器。
下面来逐一的研究下每一部分的具体行为。
分享到:
相关推荐
8.3 关联spring源代码87 8.4 小结89 第9章 创建Spring MVC之器90 9.1 整体结构介绍90 9.2 HttpServletBean93 9.3 FrameworkServlet95 9.4 DispatcherServlet100 9.5 小结107 第10章 Spring MVC之用108 10.1...
2.2.3 Tomcat技术 3 需求分析 3.1 系统用例图 3.2 系统功能概览 4 系统设计 4.1 系统体系架构 4.2 系统功能架构 4.3 数据存储设计 5 系统实现 5.1 系统关键功能块的实现 5.1.1 系统登录功能界面 5.1.2 更改登录密码...
本项目是一个基于Java SSM框架集成的示例应用,集成了Spring、SpringMVC、MyBatis以及thymeleaf模板引擎,运行于Tomcat8服务器之上。项目利用Java动态代理机制,通过实现InvocationHandler接口,巧妙地运用AOP(面向...
Java学籍管理系统源码带本地搭建教程 注意:不带技术支持,有帮助文件,虚拟商品,发货不退,看好再拍。 开发语言 : JAVA 数据库 : MySQL 开发工具 : Eclipse 源码类型 : WebForm 技术框架:ssm + layui + jsp + ...
第11章 Tomcat数据源 11.1、数据源操作原理 11.2、在Tomcat中使用数据库连接池 11.3、查找数据源 11.4、本章摘要 第12章 JSP标签编程 12.1、标签编程简介 12.2、定义一个简单的标签 —— 空标签 12.3、定义...
word源码java 前后端分离开发工具 ...由于我们是本地测试开发环境,不需要通过对应的url访问页面,直接通过实际的路径去访问,这样只需要一个controller统一处理,将url中路径的部分解析出来,处理对应的ftl即可
完整的项目源代码 全面的项目文档 技术栈: 开发语言: Java 框架: SSM (Spring, SpringMVC, MyBatis) JDK版本: 1.8 服务器: Apache Tomcat 7 数据库: MySQL 5.7(特别推荐) 数据库工具: Navicat 11 开发环境...
基于Spring Boot的学生综合测评系统是一个**针对学生信息和学习表现进行管理与评估的Web应用程序**。以下是对该系统的介绍: 1. **技术实现细节**: - 使用Java语言开发,以Spring Boot作为主要框架。 - 采用B/S...
0100_第一部分:WEB开发前奏 0101_WEB开发简介 0102_HTML、JavaScript简介 0103_XML简介 0104_Tomcat服务器的安装及配置 0200_第二部分:WEB基础开发 0205_JSP基础语法 0206_JSP内置对象 0207_JavaBean 0208...
一、本项目里面的所有阿里云配置均已禁用,因此需要修改阿里云的配置信息 OSSKey.properties 配置文件参数描述 useStatus true/false是否启用云存储, autoCreateBucket true/false是否添加新的存储仓库,默认false ...
1:外文原文 Struts——an open-source MVC implementation This article introduces Struts, a Model-View-Controller implementation that uses servlets and JavaServer Pages (JSP) technology....
第一部分从宏观的角度介绍了整个Java技术体系、Java和JVM的发展历程、模块化,以及JDK的编译,这对理解本书后面内容有重要帮助。第二部分讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出...
第11章 Tomcat数据源 11.1、数据源操作原理 11.2、在Tomcat中使用数据库连接池 11.3、查找数据源 11.4、本章摘要 第12章 JSP标签编程 12.1、标签编程简介 12.2、定义一个简单的标签 —— 空标签 12.3、定义...
(八) 复合自然主键实例(源代码hibernate_0500) 218 (九) Hibernate的类型 224 1. Java基本值类型的Hibernate映射 224 2. Java时间和日期类型的Hibernate映射类型 224 3. Java大对象类型的Hibernate映射类型 225 4....
第11章 Tomcat数据源 11.1、数据源操作原理 11.2、在Tomcat中使用数据库连接池 11.3、查找数据源 11.4、本章摘要 第12章 JSP标签编程 12.1、标签编程简介 12.2、定义一个简单的标签 —— 空标签 12.3、定义...
<br>目录 第一部分 软件、对象、数据设计与建模 第1章 软件开发的方法与过程 为什么我们需要方法与过程 什么是软件方法与过程 方法的内容 过程模型 源代码管理的要素 软件缺陷与修改的...
前 言 致 谢 第一部分 走近Java 第1章 走近Java / 2 1.1 概述 / 2 1.2 Java技术体系 / 3 1.3 Java发展史 / 5 1.4 展望Java技术的未来 / 9 1.4.1 模块化 / 9 1.4.2 混合语言 / 9 1.4.3 多核并行 / 11 ...
概览 TeraC Album是基于JSP/MySQL的web应用程序,您可以用它在Internet上来整理和发布您的照片。 特性 多语言支持 通过浏览器上传照片 自动生成缩略图 管理面板密码保护 基于web方式的添加、删除、修改...
│ 第108节:聚合框架第一部分.avi │ 第109节:聚合框架第二部分.avi │ 第110节:聚合框架第三部分.avi │ 第111节:理解文档存储机制.avi │ 第112节:MongoDB的索引一.avi │ 第113节:MongoDB的索引二.avi │ ...
1.5.2 本地API部分Java驱动程序 1.5.3 JDBC网络纯Java驱动程序 1.5.4 本地协议纯Java驱动程序 1.5.5 JDBC驱动程序的比较 1.6 本章小结 第2章 JDBC开发环境及配置 2.1 数据库系统 2.1.1 SQL数据库数据库基本...