我们进入Tomcat官网的下载页面Apache Tomcat® - Welcome!https://tomcat.apache.org/
这里说Tomcat 10及以后的版本是实现的Jakarta EE平台规范,Tomcat 9及之前的版本是实现Java EE平台规范,这里搜了一下Jakarta EE,大致含义是Oracle把Java EE交给开源基金会,然后不让继续使用Java EE这个商标,算是Java EE的发展。
所以我们目前先选择适用于Java EE的最高版本即9.0.78。
我们点击进入Tomcat 9.0.78的下载界面。
进入README file来查看各个发行版包含的内容
bin/下的二进制发行版各个版本含义如下:
apache-tomcat-[version].zip or .tar.gz
基础发行版。这些发行版不包括Windows服务包装器,也不包括已编译的APR/Windows本机库。
apache-tomcat-[version].exe
用于Tomcat的32位/64位Windows安装程序。请注意,虽然此发行版包含了绝大多数基本发行版,但不包括用于启动Tomcat的一些命令行脚本。此发行版适用于那些计划通过Windows快捷方式或服务启动Tomcat的用户。
apache-tomcat-[version]-windows-x86.zip
32位Windows特定发行版,包括Windows服务包装器和编译的APR/本机库,用于32位和64位Windows平台上的32位JVM。
apache-tomcat-[version]-windows-x64.zip
64位Windows特定发行版,包括Windows服务包装和编译的APR/本机库,用于x64 Windows平台上的64位JVM。
apache-tomcat-[version]-deployer.zip or .tar.gz
独立的Tomcat Web应用程序部署程序。
apache-tomcat-[version]-fulldocs.tar.gz
Tomcat文档包,包括完整的javadocs。
我们选择适用于64位windows的发行版apache-tomcat-[version]-windows-x64.zip,你也可以选择安装程序apache-tomcat-[version].exe,但是它不包括一些命令行脚本。
3.解压查看目录结构
我们逐个目录讲解:
bin/
bin目录下是一些常用命令脚本,*.bat 是 Windows 操作系统下使用的指令,*.sh 则是支持 bash shell 的指令。常用的指令start.bat、start.sh、shutdown.bat、shutdown.sh。
conf/
conf目录下存放的是Tomcat的配置文件:在Catalina目录下可以设置默认加载的项目;context.xml可以用来配置数据源之类的;server.xml可以设置端口号、设置域名或IP、默认加载的项目、请求编码;tomcat-users.xml用来配置管理tomcat的用户与权限;web.xml可以设置tomcat支持的文件类型 。
lib/
lib目录主要用来存放tomcat运行需要加载的jar包,例如我们后续在IDEA中配置Tomcat时就会把lib目录下的jsp-api.jar和servlet-api.jar导入到工程libraries中。
logs/
logs目录下时Tomcat服务器启动产生的日志文件。
temps/
temps目录下时Tomcat服务器运行时产生的临时文件。
webapps/
webapps目录下是你部署在Tomcat服务器中的应用程序,可以以war包、jar包、以及文件夹的形式部署。以下是webapps目录中初始文件,这几个文件夹对应的web项目分别是Tomcat的web manager的主页面以及Manager APP和Host Manger。
work/
work目录下是webapps中部署的应用程序的jsp编译而成的servlet及对应的.class文件。以下是webapps中Root项目下的index.jsp,和work中Root项目下的编译而成的index_jsp.java及对应的.class文件。
在未配置环境变量时,我们进入Tomcat的bin目录下双击startup.bat也能启动,
但是直接在命令行当前用户下无法执行startup命令,
下面我们来配置Tomcat的环境变量
先创建CATALINA_HOME系统变量,值是tomcat安装目录,
然后编辑path系统变量,添加%CATALINA_HOME%\bin。
再在命令行当前用户下执行startup命令就启动了Tomcat。
我们运行Tomcat后,访问http://localhost:8080/ http://localhost:8080/就可以跳转到web管理界面。
这里我们看到右上方有三个管理模块,分别是Server Status,Manager App,Host Manager, 点击都会跳转到一个登录页面,
这些账号密码就需要我们在之前/conf/目录中的tomcat-users.xml文件来配置管理tomcat的用户与权限,打开tomcat-users.xml,以下是初始文件内容。
这里有两段注释来解释如何配置,下边那一段翻译后发现没什么有用信息,
上边那段翻译后大致能懂了
解释就是:
Tomcat管理器内置了4个角色:
manager-gui -允许访问HTML gui和状态页
manager-script -允许访问HTTP API和状态页面
manager-jmx -允许访问jmx代理和状态页
manager-status -仅允许访问状态页面
然后我对tomcat-users.xml做了如下修改:
将两段注释删掉,添加以下内容
然后我开始尝试用四个账号登录管理界面的三个模块发现:
具有manager-gui权限的用户能登录Server Status和Manager App,剩下三个权限的用户只能访问Server Status,但是无一例外都登录不了Host Manager,我看到之前版本有一个admin-gui的权限可以登录,就尝试了以下,经过测试,确实可以,所以我最终将配置信息修改如下:
最后用户名为hcc的用户可以登录Server Status,Manager App,Host Manager三个模块。
我是在tomcat运行时直接将web项目的war包拷到webapps目录下,考进去后tomcat会给你自动解压成同名目录,
然后浏览器进入web项目同名路径下,就进入到index界面。
到此,我们完成了Tomcat的安装配置以及使用Tomcat的web管理界面并运行了web项目。