【Java Web】Tomcat 学习之路(一) 初识

Tomcat 是 Apache Software Foundation 旗下的一个开源项目,遵循 Apache License 2.0 许可协议。

它是一个 Java Web 容器,实现了多个 Java EE 规范,包括 Java Servlet, JavaServer Pages (JSP), Java EL,和 WebSocket,并且提供了一个纯 Java 的 Http Web 服务器环境。

发展

Tomcat 项目开始于1998年11月,由 Sun Microsystems 的软件架构师 James Duncan Davidson 主持开发。

第一个发布版本是 Tomcat 3.0,于1999年发布,实现了 Servlet 2.2 规范和 JSP 1.1 规范。

目前 Tomcat 最新版本是 Tomcat 9,同时还在维护的是 Tomcat 7、8,而已经停止维护的是 Tomcat 3、4、5、6,我们选择的时候应尽量选择官方尚在支持的版本。

这张表摘录自维基百科(截至2018年5月15日):

SeriesDeclared stableDescriptionLatest releaseLatest release date
2.0Tomcat started off in November 1998 as a servlet reference implementation by James Duncan Davidson, a software architect at Sun Microsystems.
3.01999Initial release. Merger of donated Sun Java Web Server code and ASF and Implements Servlet 2.2, and JSP 1.1 specifications.3.3.22004-03-09
4.12002-09-06First Apache Tomcat release to support the Servlet 2.3 and JSP 1.2 specifications.4.1.402009-06-25
5.02003-12-03First Apache Tomcat release to support the Servlet 2.4, JSP 2.0, and EL 1.1 specifications.5.0.302004-08-30
5.52004-11-10Designed for J2SE 5.0. Inclusion of Eclipse JDT allows Tomcat to run without a full Java Development Kit being installed.5.5.362012-10-10
6.02007-02-28First Apache Tomcat release to support the Servlet 2.5, JSP 2.1, and EL 2.1 specifications.6.0.532017-04-07
7.02011-01-14First Apache Tomcat release to support the Servlet 3.0, JSP 2.2, EL 2.2, and WebSocket specifications.7.0.882018-05-11
8.02014-06-25First Apache Tomcat release to support the Servlet 3.1, JSP 2.3, and EL 3.0 specifications.8.0.522018-05-08
8.52016-06-13Adds support for HTTP/2, OpenSSL for JSSE, TLS virtual hosting and JASPIC 1.1. Created from Tomcat 9, following delays to Java EE 8.8.5.312018-05-03
9.02018-01-18First Apache Tomcat release to support the Servlet 4.0, JSP 2.4 (TBD), and EL 3.1 (TBD) specifications.9.0.82018-05-03

目录结构

Tomcat 的目录十分简洁,安装目录下的文件结构如下:

apache-tomcat-9.0.8
├─ bin
├─ conf
├─ lib
├─ logs
├─ temp
├─ webapps
├─ work
├─ LICENSE
├─ NOTICE
├─ RELEASE-NOTES
└─ RUNNING.txt

目录详解


bin 文件夹

bin 文件夹用于存放 Tomcat 的一些命令文件

.bat作为后缀名的是 Windows 下的命令,以.sh作为后缀名的是 Linux 下的命令。

最常用的有以下这些:

  1. startup.bat / startup.sh :启动 Tomcat;
  2. shutdown.bat / shutdown.sh :关闭 Tomcat;
  3. configtest.bat / configtest.sh:Tomcat 的配置测试脚本;
  4. version.bat / version.sh:查看 Tomcat 版本信息、本机操作系统版本信息以及 Java 环境信息。

其实这几个命令都是 catalina.bat 命令的封装:

  1. startup.bat 相当于 catalina.bat start
  2. shutdown.bat 相当于 catalina.bat stop
  3. version.bat 相当于 catalina.bat version
  4. configtest.bat 相当于 catalina.bat configtest

catalina.bat / catalina.sh 命令可以看成一个总的命令集,bin 目录下的很多命令都是对 catalina 命令的封装,以便于快速调用。

ciphers.bat / ciphers.sh 命令最终指向:

org.apache.tomcat.util.net.openssl.ciphers.OpenSSLCipherConfigurationParser

用于显示一个可以通过 OpenSSL 来解析的密码类型的列表。

daemon.sh 命令只在 Linux 环境下使用,用于创建一个守护进程防止 Tomcat 被用户、中断等变化而影响(为 Tomcat 创建一个后台进程。目前 Linux 学的比较少,日后再补充)。

digest.bat / digest.sh 命令使用指定算法对明文进行加密,最简单的用法就是:

digest.bat -a MD5 -e UTF-8 -s 0 Ving
Ving:78d465a6d789c62848c68797fd61a83f

service.bat 命令只在 Windows 环境下使用,用于安装 Tomcat 服务,实现开机自动启动 Tomcat 服务。

setclasspath.bat / setclasspath.sh 命令用于寻找、检查 JAVA_HOME 和 JRE_HOME 这两个系统环境变量。

tomcat9.exe 是在 Tomcat 安装版中提供的一个启动 Tomcat 的应用,功能与 start.bat 命令相同,不同之处在于 tomcat9.exe 必须先安装 Tomcat 服务。

tomcat9w.exe 是一个可视化的 Tomcat 应用工具,包括设置环境变量、启动、停止等等功能,并且可以设置参数,但是必须先安装 Tomcat 服务。

tool-wrapper.bat / tool-wrapper.sh 是一个命令行工具的通用包装器,这个工具将对命令行的内容进行包装(包括加载所需要的类、环境变量等)。

tomcat-native.tar.gz 是Tomcat Native 的安装文件,这是一个利用 APR(Apache Portable Runtime) 来提升 Tomcat 性能的本地 API,主要是提升对 SSL 的处理效率。

tcnative-1.dll 用于整合本地 APR。

tomcat-juli.jar 是Tomcat 的内部日志所使用的组件。

commons-daemon.jar 全称为 Apache common Deamon,用于提供 java 服务的安装,实现将一个普通的 Java 应用变成系统的一个后台服务,在 Linux 下部署为守护进程(后台运行程序),在 Windows 下部署为服务。Tomcat 就是用这个将自己变成一个后台服务。

commons-daemon-native.tar.gz 是Apache common Deamon 的源代码包,包括 Linux 版的和 Windows 版的。

catalina-tasks.xml 用于配置 Catalina 的爬虫任务,目的是搜寻 jar 包。

bootstrap.jar 引导程序,Tomcat 的入口。

conf 文件夹

conf 文件夹用于存放 Tomcat 的一些配置文件

catalina.policy 是 Tomcat 安全机制的配置文件,默认情况下 Tomcat 是非安全模式运行的,如果需要使用安全模式,那么需要在启动命令行中添加 -security 参数。

catalina.properties 是 Catalina 的配置文件,主要有安全设置、类加载设置、不需要扫描的类设置、字符缓存设置四大块。

context.xml 在 Tomcat 6.0 时从 server.xml 中分离出来,主要用于项目部署的配置。

jaspic-providers.xml Tomcat 实现了 JASPIC 1.1 Maintenance Release B 标准,并通过这个配置文件集成第三方 JASPIC 身份验证。

jaspic-providers.xsd 定义了 jaspic-providers.xml 所使用到的标签。

logging.properties 是 Tomcat 的日志配置文件。

server.xml 是 Tomcat 容器的配置文件,最为重要的一个,也是最常用的一个,该文件不支持热更新,每次修改完成之后需要重启 Tomcat 服务器。

tomcat-users.xml 是 Tomcat 的用户信息配置文件,在 Tomcat Manager 中使用。

tomcat-users.xsd 定义了 tomcat-users.xml 所使用到的标签。

web.xml 是所有 Web 项目的缺省配置文件。

lib 文件夹

lib 文件夹用于存放 Tomcat 所需要使用的 jar 包

logs 文件夹

logs 文件夹用于存放 Tomcat 的 日志文件

temp 文件夹

temp 文件夹用于存放 Tomcat 在运行过程中产生的 临时文件

temp 文件夹可以被清空,但是不能随意删除,否则会有未知错误发生。

webapps 文件夹

webapps 文件夹用于存放 Web 项目的部署文件,也就是 Web 应用发布在这个文件夹中。

work 文件夹

work 文件夹用于存放项目中部分被 Tomcat 编译之后的文件,比如 JSP 文件。

LICENSE 文件

Tomcat 开源许可证文件。

NOTICE 文件

Tomcat 说明文件。

RELEASE-NOTES 文件

Tomcat 版本说明文件。

RUNNING.txt 文件

Tomcat 帮助文件(使用指南)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值