一、什么是 Tomcat
Tomcat 是一个 HTTP 服务器,
前面我们已经学习了 HTTP 协议, 知道了 HTTP 协议就是 HTTP 客户端和 HTTP 服务器之间的交互数据 的格式。同时也通过 ajax 和 Java Socket 分别构造了 HTTP 客户端. HTTP 服务器我们也同样可以通过 Java Socket 来实现. 而 Tomcat 就是基于 Java 实现的一个开源免费,也是被广泛使用的 HTTP 服务器。
其实 HTTP 服务器,就是在 TCP 服务器的基础上,加上了一些额外的功能:
- 能够解析请求中的 HTTP 报文:把请求转换成结构化数据(对象)。
- 可以很方便的构造 HTTP 响应。
进一步来说,HTTP 服务器提供了一组 API,方便程序员直接调用,来操作 HTTP 协议,从而简化程序员的开发工程。
二、Tomcat 下载和安装
在 Tomcat 官网下载即可,我们最常使用的是 Tomcat8 版本,官网下载链接
选择压缩包下载:
注意: 这里使用 Tomcat8 大版本,是因为这个版本会和 JDK 以及后面要学习的 Servlet 的版本,都是密切联系的。 如果你选择其他的版本,可能会导致和 JDK1.8 不匹配,导致后面写代码的时候会有莫名其妙的 bug。 所以 Tomcat 统一使用 8 版本,Servlet 统一使用 3.1 版本,JDK 统一使用 1.8 版本。
下载完成后,解压:
进入文件夹后,可以发现有这些文件:
bin 文件夹
bin 文件夹,里面存放的是 Tomcat 的启动/停止 脚本。
其中,里面的文件分为三种:
.bat.sh.jar
由于我的电脑是window 系统的,所以选择 .bat文件。
选择 文件,双击进行 Tomcat 的启动。
conf 文件夹
conf 文件夹,是 Tomcat 的配置文件(是通过 xml的格式来组织的)
其中 **server.xml**文件是最重要的。
这个文件里面的配置,都是我们最常用的,比如:
- 修改 Tomcat 的端口号(Tomcat 的默认端口号是 8080)
lib 文件夹
lib 里面主要存的是 Tomcat 的一些依赖的组件。
logs 文件夹
**这个 logs 文件夹很关键!**logs 里面存放的是 Tomcat 的一些日志文件。
日志:包含了 Tomcat 运行中的一些具体过程的细节。
后续在 Tomcat 上部署程序的时候,如果程序出现了错误,我们就可以通过观察日志来去判断错误的原因。
(一般查看日志,都是按照 修改日期 来排序的)
temp 文件夹
这个不怎么重要,一般是存放临时数据的。
webapps 文件夹
这个目录中,存放的是我们部署的 servlet 程序。
每个 servlet 程序,都是一个 **war**后缀的文件,也是一种压缩包的格式。
在启动 Tomcat 后,会自动把 war 包解压,得到一个目录。
得到目录之后,Tomcat 就能识别到里面的一些代码了。
具体来说,
每个 war 包,对应了一个 webapp(相当于是一个网站),一个 Tomcat 上可以同时部署多个 webapp(多个网站)的,正因为如此,也可以把 Tomcat 称为 Servlet 的容器。
三、使用 Tomcat
第一步:启动
双击 bin目录下的 startup.bat,出现下面的字样就代表启动成功了:
可以发现,有一部分是乱码。
这是因为 Tomcat 内部使用的编码方式是 utf-8,即:当前的数据是按照 utf-8 来构造的,但是 cmd 在显示的时候是按照 GBK的方式来解析的。
如何解决乱码:
- 统一编码方式:把 Tomcat 的编码方式改成 GBK 格式(改成 GBK 不符合主流,此方法不采用),或者把 cmd 的编码方式改成 utf-8(因为 cmd 本身没有提供设置字符集的功能,只能取修改电脑的注册表,但是最好不用)。
第二步:使用浏览器访问 Tomcat
启动 Tomcat 之后,在浏览器界面输入 127.0.0.1:8080,回车即可:
127.0.0.1环回IP8080端口号
此处是一个欢迎页面,代表 Tomcat 可以成功运行。
这样我们就可以自己部署一些页面放到 Tomcat 上了:
进入 webapps-> ROOT,创建一个.html文件:
编写代码,在页面展示 “hello world” 文字:
保存代码后,在 Tomcat 欢迎页面的 url:127.0.0.1:8080后,写上文件名称: