## Tomcat 简介
Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。
由于 Tomcat 本身也内含了一个 HTTP 服务器,它也可以被视作一个单独的 Web 服务器。但是,不能将 Tomcat 和 Apache HTTP 服务器混淆,Apache HTTP 服务器是一个用 C 语言实现的 HTTP Web 服务器;这两个 HTTP web server 不是捆绑在一起的。Tomcat 包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。
## Tomcat 下载
**官网地址:**https://tomcat.apache.org/download-80.cgi
![![](http://47.107.171.232/easily-j/images/20190116/a6a31c9d-92e1-4afc-a813-ef3e4284aa85.png)](http://47.107.171.232/easily-j/images/20190116/20fc0f46-d93b-45fe-87a7-1d48843e3b02.png)
找到页面下方的64位Windows,32位的电脑就选32位的就可以了。
![](http://47.107.171.232/easily-j/images/20190116/517c0680-9278-4eac-9f30-3232a00ae72c.png)
## Tomcat 目录结构
| 目录名称 | 目录作用 |
| ------------ | ------------ |
| bin | 存放Windows或Linux平台上启动和关闭Tomcat的脚本文件 | |
| conf | 存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml |
| lib | 存放Tomcat运行需要的库文件 |
| logs | 存放Tomcat执行时的日志文件 |
| webapps | Tomcat的主要Web发布目录 |
| work | 存放jsp编译后产生的class文件 |
| temp | 临时目录 |
## Tomcat 安装
下载完成之后解压即可,尽量不要安装在中文目录下,然后找到bin目录下的**startup.bat**。启动成功如下:
![](http://47.107.171.232/easily-j/images/20190116/2e328e67-75c9-4ec5-9378-a9f54cd98711.png)
启动端口为8080,启动耗时为2464毫秒,然后浏览器访问localhost:8080 ,测试是否安转成功。
![](http://47.107.171.232/easily-j/images/20190116/0af0355c-d04f-4c12-a034-218524631ff4.png)
## Tomcat 端口被占用
端口被占用是开发中非常常见的一种错误,当第一个使用8080端口的程序没有关闭时,又运行了一次tomcat同样是使用8080端口,则报错tomcat端口已经被使用。
![](http://47.107.171.232/easily-j/images/20190116/25ef6277-be1b-445a-8bee-df766a42487f.png)
任何一个程序运行都需要使用端口,当端口已经被使用时,启动报错。下面是解决方法,修改端口即可。
## Tomcat 修改端口
首先我们把下载的tomcat再复制一个,这样测试两个tomcat的启动。
找到第二个tomcat的conf/server.xml配置文件,修改以下内容:
**8005修改为8006**
![](http://47.107.171.232/easily-j/images/20190116/3cd351a9-7e27-46ad-9e6a-a75d0ed5f808.png)
**8080修改为8081**
![](http://47.107.171.232/easily-j/images/20190116/7b2928b1-1202-474e-8bf8-3bd0b3bd4bc0.png)
**8009修改为8010**
![](http://47.107.171.232/easily-j/images/20190116/0859f4c5-eaac-438b-87c6-dfc3ba76a766.png)
**浏览器测试**
8080端口的tomcat:
![](http://47.107.171.232/easily-j/images/20190116/edafa38a-f203-4ca3-b631-ec3916a99cc5.png)
8081口的tomcat:
![](http://47.107.171.232/easily-j/images/20190116/8571d602-1f71-4129-9679-979b8b62111c.png)
## Tomcat 修改编码
tomcat8以后默认编码格式是utf-8;7之前的都是iso8859-1,如果默认情况下,tomcat使用的的编码方式:iso8859-1,修改tomcat下的conf/server.xml文件。找到如下代码:
```xml
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
```
这段代码规定了Tomcat监听HTTP请求的端口号等信息。
可以在这里添加一个属性:URIEncoding,将该属性值设置为UTF-8,即可让Tomcat(默认ISO-8859-1编码)以UTF-8的编码处理get请求。
修改完成后:
```xml
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
```