http://tomcat.apache.org/
进入官网主页,看到左侧栏的download的下载目录,尽量不选择最新的版本,选择较为稳定的版本。目前最新的版本是tomcat 10,这里选择tomcat 8。
为了方便,可直接下载绿色版,下载到本地解压即可(注意别放在中文目录下)。
为了方便,我上传到了我的资源中,也可以点击这里下载:
apache-tomcat-8.5.55.rar
使用bin目录下的批处理文件startup.bat来启动Tomcat服务器,若出现一个毫秒数说明启动成功。
另外一种验证方式:
打开浏览器,在地址栏输入http://localhost:8080 或 http://127.0.0.1:8080进行打开tomcat的主页。若出现如下页面,代表启动成功。
8080是tomcat默认的端口号。
方式1:点击右上角x按钮直接将启动的窗口关闭;
方式2:使用bin目录下的批处理文件shutdown.bat来关闭Tomcat服务器
可以看到,刚刚开启的dos窗口被自动关闭
启动 tomcat 之前首先安装JDK并配置环境变量JAVA_HOME,若未安装JDK或者未配置JAVA_HOME,启动时会闪退。
可以看到,之前启动的控制台窗口中,中文的显示是乱码的,解决如下:
右键点击控制台窗口左上角,选择属性,查看启动窗口的编码方式
可以看到,控制台编码方式是GBK,为了将编码对应上,那么只需要更改配置文件的编码方式为GBK即可。
logging.properties文件修改为java.util.logging.ConsoleHandler.encoding = GBK
修改完成后,再次启动tomcat
可以看到,乱码问题已被解决。
虽然在tomcat安装目录conf下,双击startup.bat能启动。但是这有点不太方便,若希望Tomcat服务器可以在任意路径启动,则需要配置环境变量CATALINA_HOME。
win+r,输入cmd打开dos窗口,未配置前,是启动不了的:
以win10为例,进行环境变量配置:
重新打开dos窗口并执行startup命令:
可以在任意目录启动tomcat了。
我们知道,访问百度的地址是:https://www.baidu.com/,咦,这里怎么没有加端口号也可以访问?这是因为百度使用的是http默认端口80,目前很多网址都是使用默认端口,默认端口是可以省略的。所以,使用https://www.baidu.com:80/也可以访问百度地址。那么,我们能不能也把tomcat服务器也更改成80端口呢,肯定是可以的。只需更改server.xml配置文件即可,server.xml文件是服务器的主配置文件,可以设置端口号、设置域名或IP、默认加载的项目、请求编码等。
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
更改端口后,重启tomcat服务器
启动信息中可以看到,端口号已变更,访问浏览器:
因为端口号改成了默认端口号,所以这里访问路径可以不加端口号。
当然,也可以改成其他端口号,如:8888,只要在0~65535范围内,且不和其他特定端口号冲突即可。
打开tomcat主页后,我们可以看到,有查看服务器状态和管理服务的按钮,进入这个菜单需要输入用户名和密码,那这个用户名和密码在哪里配置呢?
只需更改tomcat-users.xml文件即可,tomcat-users.xml文件用来配置管理Tomcat服务器的用户与权限 。
<role rolename="manager-gui"/>
<user username="admin" password="123456" roles="manager-gui"/>
role角色从哪里看,为什么配置"manager-gui" ?可以查看指导手册。
可以看到,manager-gui 角色表示可以操作HTML界面。
修改配置文件后,重启服务器,浏览器打开tomcat主页,再次点击管理应用按钮
就进入到应用管理界面了,这里面有一些tomcat默认的应用。还进入服务器状态查看页面:
前面在目录结构中已经介绍过,webapps 目录主要存放应用程序,那么也就是说部署的服务,会存放到这个目录。现在,直接在这个目录下创建一个子目录hello
再新建一个简单页面 index.html放到hello目录下
<html>
<head>
<title>这是示例页面title>
head>
<body>
<h1>hello world!h1>
body>
html>
在浏览器输入 http://localhost:8080/hello/index.html 进行访问
可以看到,简易的hello项目已成功部署。
此外,路径只输入到项目名也可以访问:http://localhost:8080/hello/
这是因为,访问一个项目时,如果不输入具体的页面,那么默认访问的是index.html资源文件。
那么问题来了,用 http://localhost:8080/ 访问tomcat主页时,访问的是哪个资源呢?
其实,它默认访问的是ROOT目录下的文件:
在ROOT目录增加刚刚编写的index.html文件,再次在浏览器访问tomcat主页