Servlet是基于Java的动态网站开发技术,它的所有类和组件都是基于Java实现的,要想使用Servlet,就必须提前配置好Java运行环境。
搭建好了Java环境,再安装一款Web容器就可以运行Servlet代码了。市场上有很多Web容器,著名的有Tomcat、Jetty、JBoss、WebLogic等,初学者最常使用的是Tomcat。Tomcat是Java官方推出一款免费开源的Web容器,它占用资源少,扩展性好,运行稳定,支持负载均衡,并且易于学习和使用,所以成为最受欢迎的Tomcat容器。
本文将为您讲解Tomcat的下载和安装。
Tomcat下载和安装
进入Tomcat官网,在首页左侧的导航栏中找到“Download”分类,可以看到在它下面有多个版本的Tomcat,如图1所示。
不同的Tomcat版本支持的Java版本也不同,读者可以根据自己的JDK/JRE版本来选择对应的Tomcat版本,如下图所示:
不同版本的Tomcat对各种规范的支持(2020-11-13)
Tomcat 版本 |
最新子版本 |
Servlet |
JSP |
EL |
WebSocket |
认证(JASIC) |
Java 版本 |
10.0.x(内测) |
10.0.0 |
5.0 |
3.0 |
4.0 |
2.0 |
2.0 |
8 以及更高 |
9.0.x |
9.0.36 |
4.0 |
2.3 |
3.0 |
1.1 |
1.1 |
8 以及更高 |
8.5.x |
8.5.56 |
3.1 |
2.3 |
3.0 |
1.1 |
1.1 |
7 以及更高 |
8.0.x(已被取代) |
8.0.53(已被取代) |
3.1 |
2.3 |
3.0 |
1.1 |
N/A |
7 以及更高 |
7.0.x |
7.0.104 |
3.0 |
2.2 |
2.2 |
1.1 |
N/A |
6 以及更高 |
6.0.x(已废弃) |
6.0.53(已废弃) |
2.5 |
2.1 |
2.1 |
N/A |
N/A |
5 以及更高 |
5.5.x(已废弃) |
5.5.36(已废弃) |
2.4 |
2.0 |
N/A |
N/A |
N/A |
1.4 以及更高 |
4.1.x(已废弃) |
4.1.40(已废弃) |
2.3 |
1.2 |
N/A |
N/A |
N/A |
1.3 以及更高 |
3.3.x(已废弃) |
3.3.2(已废弃) |
2.2 |
1.1 |
N/A |
N/A |
N/A |
1.1 以及更高 |
本地电脑使用的是JDK8,对应的Tomcat版本是10和9,但是考虑到Tomcat10还在内测阶段,可能不太稳定,所以选择了Tomcat9。
如图1所示,点击”Tomcat9”链接即可跳转到Tomcat9下载页面,向下滚动鼠标就能看到具体的下载链接,请读者根据自己的操作系统选择对应的版本,如图2所示。
Windows下的Tomcat有安装版和解压版,下面说一下它们的区别。
安装版Tomcat
安装版Tomcat下载后得到一个exe安装包,和其它软件的安装流程没有什么区别。
安装版Tomcat在安装过程中会自动进行相关配置,比如找到JDK的位置、读取环境变量JAVA_HOME等。安装版Tomcat在启动后以服务的方式运行,并且带有GUI管理工具(图形界面化的管理工具),用户可以很方便地通过界面进行管理和操作,非常友好。
解压版Tomcat
解压版Tomcat下载后得到一个zip压缩包,是免安装的,使用WinRAR等软件解压到任意目录后就可以直接使用。
解压版Tomcat还可以到处移动,您可以将它从A文件夹移动到B文件夹,甚至移动到U盘,是真正的绿色版。当您不再使用时,直接删除文件夹即可卸载解压版Tomcat。
建议
建议读者使用解压版Tomcat,除了安装和卸载方便,解压版Tomcat还没有GUI界面,只能通过使用各种配置文件和命令来操作和管理,这利于初学者学习Tomcat的启动和运行流程。这也是大部分Tomcat教材的建议。
电脑是64位,下载64位Windows解压版后得到apache-tomcat-9.0.39-windows-x64.zip,将其解压缩到计算机某磁盘(最好不要选择C盘)即可。
解压缩完成后,打开Tomcat所在目录,可以看到它包含了很多子文件夹,它们的作用如下表所示:
Tomcat子目录及其说明
子目录 |
说明 |
bin |
命令中心(启动命令,关闭命令……) |
conf |
配置中心(端口号,内存大小……) |
lib |
Tomcat 的库文件。Tomcat 运行时需要的 jar 包所在的目录。 |
logs |
存放日志文件。 |
temp |
存储临时产生的文件,即缓存。 |
webapps |
存放项目的文件,web 应用放置到此目录下浏览器可以直接访问。 |
work |
编译以后的 class 文件。 |