`
meiyx
  • 浏览: 183730 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Tomcat5启动流程与配置详解(1)

阅读更多
1 Tomcat5.0目录结构

   Tomcat下有9个目录,分别是bin,common,conf,logs,server,shared,temp,webapps,work 目录,现在对每一目录做介绍。Tomcat根目录在tomcat中叫<CATALINA_HOME>。

  -<CATALINA_HOME>/common-
    在common目录下的lib目录,存放Tomcat服务器和所有web应用都能访问的JAR。 -<CATALINA_HOME>/shared-
    在shared目录下的lib目录,存放所有web应用能访问的,但Tomcat不能访问的JAR。 -<CATALINA_HOME>/server-
    在server/webapps目录中,存放Tomcat自带的两个APP-admin和manager应用,使用来管理Tomcat-web服务用的。在server/lib目录中,存放tomcat服务器所需要的各web应用不能访问种jar。 -<CATALINA_HOME>/work –
    Tomcat把各种由jsp生成的servlet文件放在这个目录下。 -<CATALINA_HOME>/temp –
    临时活页夹,Tomcat运行时候存放临时文件用的。 -<CATALINA_HOME>/logs –
    存放Tomcat的日志文件。 -<CATALINA_HOME>/conf –
    Tomcat的各种配置文件,最重要的是 server.xml。(下文将详细介绍此文件) -<CATALINA_HOME>/webapps-
    web应用的发布目录,把 java开发的web站点或war文件放入这个目录下就可以通过tomcat服务器访问了。2.Tomcat的启动  Tomcat的启动是从解析bat文件开始,bat文件最终调用org.apache.catalina.startup.Bootstrap开始类的加载。  2.1 TOMCAT自己的类载入器(ClassLoader)加载流程如下:
       +---------------------------+
       |         Bootstrap         |
       |             |             |
       |          System           |
       |             |             |
       |          Common           |
       |         /      \          |
       |     Catalina  Shared      |
       +---------------------------+
其中:
-Bootstrap –
    载入JVM自带的类和$JAVA_HOME/jre/lib/ext/*.jar。 - System -
①载入$CATALINA_HOME/bin/bootstrap.jar  初始化Tomcat,执行Main方法。
②$JAVA_HOME/lib/tools.jar  Sun的工具类,包括编译Jsp为Servlet的工具类。 - Common -
    这个目录下的类虽然对TOMCAT和所有的WEB APP都可见。但是Web App的类不应该放在这个目录下,所有未打包的Class都在$CATALINA_HOME/common/classes下,所有打包的jar都在$CATALINA_HOME/commons/endorsed和$CATALINA_HOME/common/lib下,默认情况会包含以下几个包:
①jndi.jar JNDI API接口,这个包仅在Java1.2时候装入,1.3以后的版本JDK已自动装入。
②naming-common.jar JNDI接口实现类,Tomcat用这些类在内存中使用Context。
③naming-resources.jar JNDI实现,Tomcat用它们定位Web App的静态资源。
④servlet.jar Servlet,Jsp API。
⑤xerces.jar XML解析器,特定的Web App可以在自己的/WEB-INF/lib 中覆盖。 - Catalina -
    装入Tomcat实现所有接口的类,这些类对Web App是完全不可见的,所有未打包的类在$CATALINA_HOME/server/classes,所有jar包在$CATALINA_HOME/server/lib下。一般情况该ClassLoader将Load下面几个包:
①catalina.jar Servlet容器的Tomcat实现包。
②jakarta-regexp-X.Y.jar 正则表达式,请求过滤时使用。
③servlets-xxxxx.jar Servlet支持包。
④tomcat-coyote.jar Tomcat的Coyote连接实现包。
⑤tomcat-jk.jar Web Server绑定包,允许Tomcat绑定Apache等作为Web Server。
⑥tomcat-jk2.jar 功能同上。
⑦tomcat-util.jar Tomcat工具类,可能被一些Connector用到。
⑧tomcat-warp.jar 用于Apache Server包。 - Shared -
    载入所有WEB APP都可见的类,对TOMCAT不可见。 所有未打包的类在$CATALINA_HOME/shared/classes,所有jar包在$CATALINA_HOME /lib下。默认情况包含下面几个包:
①jasper-compiler.jar Jsp编译器,编译Jsp为Servlet。
②jasper-runtime.jar Jsp(已编译成Servlet)运行支持包。
③naming-factory.jar 支持Web App使用JNDI的封装包。 -WebAppX -
    Web App ClassLoader,Web App被部署是在该ClassLoader被创建的时候。所有class都在WEB-INF/classes下,所有jar在WEB-INF/lib下。特别注意WEB APP自己的ClassLoader的实现与众不同:
    它先试图从WEB APP自己的目录里载入,如果失败则请求父ClassLoader的代理。这样可以让不同的WEB APP之间的类载入互不干扰.另,Tomcat Server使用的是Catalina   ClassLoader,一般的Web App使用的是WebApp ClassLoader。 2.2 下面总结Tomcat类加载过程
Bootstrap($JAVA_HOME/jre/lib/ext/*.jar)
System($CLASSPATH/*.class和指定的jar)
Common($CATALINA_HOME/common 下的classes,lib,endores三个子目录)
Catalina ($CATALINA_HOME/server/下的classes和lib目录仅对Tomcat可见)
Shared($CATALINA_HOME/shared/下的classes和lib目录以及$CATALINA_HOME/lib目录)
    仅对Web应用程序可见,对Tomcat不可见WebApp($WEBAPP/Web-INF/*仅对该WEB应用可见classes/*.class lib/*.jar) 2.3加载类和资源的顺序为:
1、/Web-INF/classes
2、/Web-INF/lib/*.jar
3、Bootstrap
4、System
5、$CATALINA_HOME/common/classes
6、$CATALINA_HOME/common/endores/*.jar
7、$CATALINA_HOME/common/lib/*.jar
8、$CATALINA_HOME/shared/classes
9、$CATALINA_HOME/shared/lib/*.jar3.server.xml
3.1配置tomcat组件的XML文件server.xml:
①顶层类元素[Top Level Elements]: 位于整个配置文件的顶层, 包括<Server>和<Service>。
②连接器类元素[Connectors ]: 客户和服务(容器类元素)间的通讯接口。接受客户请求,返回响应结果<Connector>。
③容器类元素[Containers]: 处理客户请求并且生成响应结果,包含3个:<Engine> <Host> <Context>。
④嵌套类元素[Nested Components]: 可以加入到容器中的元素,包括:<logger> <Valve><Realm>等。
分享到:
评论

相关推荐

    Tomcat5启动流程与配置详解 .

    ### Tomcat5启动流程与配置详解 #### 一、Tomcat5.0目录结构 Tomcat作为一款广泛使用的开源Web服务器软件,其5.0版本的目录结构清晰且功能明确,便于用户理解和维护。以下是对Tomcat5.0各个目录的具体介绍: 1. *...

    tomcat5配置详解

    本文将深入探讨Tomcat 5的启动流程、目录结构以及配置详解。 1. **Tomcat 5.0 目录结构** - **bin**: 包含操作系统特定的启动和关闭脚本,如`startup.bat`和`shutdown.bat`,分别用于启动和停止Tomcat服务。 -...

    Tomcat 7 Windows中以Service方式启动配置启动参数

    #### 三、配置Tomcat启动参数的重要性 在Windows环境中以Service方式启动Tomcat时,默认的JVM参数设置往往较低,这可能导致在运行大型应用程序时遇到内存不足的问题,例如常见的`java.lang.OutOfMemoryError: Perm...

    Linux 配置 tomcat 开机启动.txt

    ### Linux 下配置 Tomcat 开机启动 #### 概述 本文档主要介绍如何在 Linux 系统中配置 Apache Tomcat 服务器实现开机自动启动。通过编写一个简单的 Bash 脚本,并将其设置为系统服务的方式,可以确保 Tomcat ...

    Tomcat启动分析以及如何启动

    Tomcat启动分析与配置详解 Tomcat是一款广泛使用的开源Java Servlet容器,它实现了Java EE的Web应用程序规范。理解Tomcat的启动过程和配置对于优化服务器性能和管理Web应用至关重要。本文将深入解析Tomcat的组成...

    jdk1.6与绿色版tomcat5.5安装配置详解

    ### jdk1.6与绿色版tomcat5.5安装配置详解 #### 一、安装配置JDK 1.6.0_17 **1.1 下载JDK** 由于JDK 1.6.0_17的安装包较大,通常需要从官方网站或其他可靠来源下载。本教程中提到的绿色版本JDK可以更方便地进行...

    Tomcat6安装与配置

    ### Tomcat6安装与配置详解 #### 一、Tomcat6的安装步骤 **1. 下载Tomcat** 首先,访问Tomcat官方网站(http://tomcat.apache.org/)进行Tomcat的下载。用户可以选择ZIP格式或EXE格式进行下载,其中ZIP格式无需安装...

    Tomcat与Java Web开发技术详解(第2版) ,重新制作了完整书签目录,附勘误表

    另一方面,“Tomcat与Java Web开发技术详解(第2版)_2009.1.pdf”则是本书的电子版,便于读者在线阅读或离线查阅。有了完整的书签目录,读者可以更快地定位到需要的内容,提高学习和工作的效率。 总的来说,这本书...

    linux下Nginx+tomcat整合的安装与配置

    ### Linux下Nginx+Tomcat整合的安装与配置详解 在现代的Web服务器架构中,Nginx作为高性能的反向代理服务器和负载均衡器,常被用来与Tomcat等应用服务器配合使用,以提高网站的响应速度、稳定性和安全性。本文将...

    JSP+Tomcat安装及配置图文教程详解

    ### JSP+Tomcat开发环境安装及配置知识点详解 #### 软件准备与环境搭建 **1. JDK (Java Development Kit)** JDK是Java开发的基础,包含了编译、运行Java程序所需的工具和库。文章提及的JDK 1.6版本虽已过时,但在...

    tomcat 启动优化和并发并发优化配置.rar

    《Tomcat启动优化与并发优化配置详解》 Tomcat,作为Java Web应用最常用的服务器,其性能优化对于提升系统整体效率至关重要。本文将深入探讨Tomcat的启动优化和并发优化配置,帮助开发者们更好地理解并实践这些关键...

    TOMCAT的启动.rar

    【标题】:Tomcat启动详解 【描述】:Tomcat是Apache软件基金会的Jakarta项目下的一个开源项目,是一款广泛使用的Java应用服务器,主要用于运行Servlet和JSP。本资料主要探讨Tomcat的启动过程,包括启动配置、环境...

    Tomcat 6.0启动过程分析

    从 `Bootstrap` 类开始,逐步初始化类加载器、加载配置文件,直到启动服务器并监听端口,最终形成一个完整的 Tomcat 启动过程。这一过程不仅揭示了 Tomcat 内部工作原理,也为进一步理解和优化 Tomcat 配置提供了...

    Tomcat6.0,配置,使用详解及demo

    【Tomcat 6.0配置与使用详解】 Tomcat是一款广泛应用的开源Java Servlet容器,用于部署和运行Java Web应用程序。本文将深入解析Tomcat 6.0的下载、配置、目录结构及其主要组件,帮助你更好地理解和使用这款服务器。...

    Tomcat与Java Web开发技术详解(第2版)PDF

    首先,书中会详细介绍Tomcat的安装和配置过程,包括不同操作系统下的安装方法、环境变量设置以及服务器的启动和停止。这涵盖了基础的系统管理员知识,让读者能够快速搭建起开发环境。 其次,书中的核心内容会讲解...

Global site tag (gtag.js) - Google Analytics