一、Tomcat概述

1、什么是Tomcat

Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。

2、名称由来

Tomcat 最初是由 Sun 的软件架构师詹姆斯·邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由 Sun 贡献给 Apache 软件基金会。由于大部分开源项目 O’Reilly 都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因为他希望这种动物能够自己照顾自己,最终,他将其命名为 Tomcat(英语公猫或其他雄性猫科动物),Tomcat的Logo兼吉祥物也被设计为一只公猫。

二、Tomcat的使用

1、下载

(1)访问Tomcat的官网:https://tomcat.apache.org,并在左侧的导航栏找到 Download 导航项

Tomcat官网首页

(2)选择需要下载的版本(这里我选择的是 Tomcat 9),并点击链接进入下载页,之后根据操作系统选择对应的版本下载即可

Tomcat官网下载页

2、安装

将下载好的压缩包解压到自选的安装目录即可,注意安装目录最好为纯英文路径且不要有空格。

3、启动

在启动 Tomcat 之前,请检查是否正确配置JAVA_HOME环境变量,否则将无法正确启动 Tomcat 服务器。之后打开Tomcat的安装目录,在bin文件夹下找到并运行startup.bat(Windows系统)或 startup.sh(Linux系统),运行结果如下:

启动日志

之后打开浏览器,访问http://localhost:8080,如果出现以下界面就代表已经正确地启动了Tomcat:

浏览器内容

如果需要修改一些配置,例如服务器监听的端口号等,可以在安装目录下找到conf文件夹,并在conf文件夹中打开server.xml,修改以下内容:

1
2
3
4
5
6
7
8
9
10
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Documentation at :
Java HTTP Connector: /docs/config/http.html
Java AJP Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
-->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

Tomcat 默认的端口号是8080,可以将端口号改为其它未被占用的端口号,只需修改port属性即可。注意在修改完成之后需要重启 Tomcat 服务器才会生效。

4、关闭

或许有人认为直接点窗口上的关闭按钮就是关闭Tomcat服务器了,其实这是错误的,这种关闭方式实际上是强制关闭,这和直接拔台式机电源强制关机是没什么两样的,更何况当Tomcat服务器部署在远程服务器上时,那又怎么通过终端关闭Tomcat服务器呢?

下面将介绍两种正确关闭Tomcat服务器的方法:

  • 运行bin文件夹下的shutdown.bat(Windows系统)或 shutdown.sh(Linux系统)

  • 在正在运行的Tomcat控制台界面按下ctrl+c组合键

三、Tomcat部署项目

1、直接部署

直接将项目放到webapps目录下即可,项目的访问路径就是虚拟目录。此外为了简化部署,还可以将项目打成一个war包,再将war包放置到webapps目录下(war包自动解压缩)。

2、修改配置文件

在Tomcat服务器安装路径下找到conf文件夹,并修改conf文件夹中的server.xml文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<Host name="localhost"  appBase="webapps"
unpackWARs="true" autoDeploy="true">

<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->

<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />

<Context docBase="/path/project_name" path="/context_name" />

</Host>

下面对<Context/>标签的一些属性进行说明:

  • docBase:项目存放的路径

  • path:虚拟目录

实际开发中并不推荐使用这种方式部署项目,因为每次修改都需要重启Tomcat服务器才能生效,更重要的是一旦配置错误,除了会影响该项目,还会影响其它已经正确部署的项目,这是一种不安全的配置方式。

3、添加配置文件

在项目安装路径下的conf/Catalina/localhost目录下创建XML配置文件,并在配置文件中添加以下内容:

1
<Context docBase="/path/project_name" />

在添加完配置之后无需重启Tomcat服务器即可完成项目的部署,项目的虚拟目录就是XML文件的名称。当需要取消部署项目时只需将该配置文件删除即可,这是一种比较好的配置方式,推荐使用这种方式部署项目。

三、在IDEA中使用Tomcat

1、创建项目

首先创建一个 Java EE 项目:

创建项目

2、配置Tomcat

(1)点击 Run -> Edit Configurations

配置Tomcat-1

(2)在Templates中找到Tomcat Server选项并选择其中的Local选项

配置Tomcat-2

配置Tomcat-3

(3)选择本地Tomcat服务器的安装目录,之后点击确认即可

配置Tomcat-4

(4)检查是否正确配置Tomcat

配置Tomcat-5

3、启动项目

点击IDEA中的启动按钮,观察控制台的输出,若控制台输出无异常且在浏览器中可正常访问项目则代表配置正确

启动项目

四、常见问题

在启动Tomcat服务器时可能会出现中文乱码的问题,解决该问题的方法就是在Tomcat服务器的安装路径找到conf文件夹,并打开conf文件夹中的logging.properties文件,添加以下内容:

1
java.util.logging.ConsoleHandler.encoding = GBK

之后重启Tomcat服务器即可。