Tomcat入门

2018-02-10  本文已影响0人  Tycc

Tomcat目录层次结构

$CATALINA_HOME地址指的是Tomcat的安装根目录。如果启用了多实例,那么每个实例可以设置一个$CATALINA_BASE路径。需要在操作系统中设置(如win在PATH下添加)。根目录下几个关键的文件夹:

Tomcat部署Web应用方法

<Context privileged="true" antiResourceLocking="false"
         docBase="${catalina.home}/webapps/manager">
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.0\.0\.1" />
</Context>
<!-- 本地环境使用 -->
<plugin>   
  <groupId>org.apache.tomcat.maven</groupId>   
  <artifactId>tomcat7-maven-plugin</artifactId>   
  <version>2.1</version>   
  <configuration>      
    <hostName>localhost</hostName>    <!--   Default: localhost -->  
    <port>8080</port>    <!-- 启动端口 Default:8080 --> 
    <path>/api</path>    <!-- 访问应用路径  Default: /${project.artifactId}-->  
    <uriEncoding>UTF-8</uriEncoding>      <!-- uri编码 Default: ISO-8859-1 -->
  </configuration>
</plugin>

在命令行中使用tomcat7:run命令运行当前项目,使用tomcat7:deploy部署当前项目。

web应用

一个web应用由多个静态web资源和动态web资源组成,组成web应用的这些文件会由一个目录组织起来,这个目录称为web应用所在目录。Tomcat等应用服务器把主机上的资源映射到服务器对外提供的访问路径上。
web应用的组成结构:

main---------------------------Web应用所在目录
           |----html、jsp、css、js等文件,根目录下的文件外界可以直接访问
           |----WEB-INF目录
                    |---------classes目录(java类)
                    |---------lib目录(java类运行所需的jar包)
                    |---------web.xml(web应用的配置文件)   

WEB-INF 这个目录下的文件外界无法直接访问,由web服务器负责调用。

Tomcat 的总体结构

参考的文章介绍的是Tomcat 5,可能不适合Tomcat 9


Tomcat 的总体结构

Tomcat 的心脏是两个组件:Connector 和 Container。Connector 主要负责对外交流,Container 主要处理 Connector 接受的请求,处理内部事务。而Service 只是在 Connector 和 Container 外面多包一层,把它们组装在一起,向外面提供服务,一个 Service 可以设置多个 Connector,但是只能有一个 Container 容器。

Tomcat 中组件的生命周期是通过 Lifecycle 接口来控制的,组件只要继承这个接口并实现其中的方法就可以统一被拥有它的组件控制了。最高的组件是 Server,可以控制 Tomcat 中所有组件的生命周期。控制生命周期的 Start 和 Stop 方法,还有一个监听机制。

参考:
Apache Tomcat 9 Docs
Tomcat 系统架构与设计模式
Tomcat 容器模型

上一篇 下一篇

猜你喜欢

热点阅读