大家好,又见面了,我是你们的朋友全栈君。
1、什么是Tomcat?
- tomcat是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP 程序的首选。
- 最初由Sun公司的软件架构师詹姆斯·邓肯·戴维森开发,后来他帮助将其变为开源项目并由Sun公司贡献给Apache软件基金会。
2、Tomcat的下载
1)下载地址
2)版本选择
进入官网主页,看到左侧栏的download的下载目录,尽量不选择最新的版本,选择较为稳定的版本。目前最新的版本是tomcat 10,这里选择tomcat 8。
为了方便,可直接下载绿色版,下载到本地解压即可(注意别放在中文目录下)。
为了方便,我上传到了我的资源中,也可以点击这里下载:
apache-tomcat-8.5.55.rar
3、Tomcat的目录结构
- bin 主要存放二进制可执行文件和脚本。
- conf 主要存放各种配置文件。
- lib 主要用来存放Tomcat运行需要加载的jar包。
- logs 主要存放Tomcat在运行过程中产生的日志文件。
- temp 主要存放Tomcat在运行过程中产生的临时文件。
- webapps 主要存放应用程序,当Tomcat启动时会去加载该目录下的应用程序。
- work 主要存放tomcat在运行时的编译后文件,例如JSP编译后的文件。
4、Tomcat服务的启动和关闭
1)启动方式
使用bin目录下的批处理文件startup.bat来启动Tomcat服务器,若出现一个毫秒数说明启动成功。
另外一种验证方式:
打开浏览器,在地址栏输入http://localhost:8080 或 http://127.0.0.1:8080进行打开tomcat的主页。若出现如下页面,代表启动成功。
8080是tomcat默认的端口号。
2)关闭方式
方式1:点击右上角x按钮直接将启动的窗口关闭;
方式2:使用bin目录下的批处理文件shutdown.bat来关闭Tomcat服务器
可以看到,刚刚开启的dos窗口被自动关闭
3)注意事项
启动 tomcat 之前首先安装JDK并配置环境变量JAVA_HOME,若未安装JDK或者未配置JAVA_HOME,启动时会闪退。
4)乱码处理
可以看到,之前启动的控制台窗口中,中文的显示是乱码的,解决如下:
右键点击控制台窗口左上角,选择属性,查看启动窗口的编码方式
可以看到,控制台编码方式是GBK,为了将编码对应上,那么只需要更改配置文件的编码方式为GBK即可。
logging.properties文件修改为java.util.logging.ConsoleHandler.encoding = GBK
修改完成后,再次启动tomcat
可以看到,乱码问题已被解决。
3)环境变量配置
虽然在tomcat安装目录conf下,双击startup.bat能启动。但是这有点不太方便,若希望Tomcat服务器可以在任意路径启动,则需要配置环境变量CATALINA_HOME。
win+r,输入cmd打开dos窗口,未配置前,是启动不了的:
以win10为例,进行环境变量配置:
重新打开dos窗口并执行startup命令:
可以在任意目录启动tomcat了。
5、端口号更改
我们知道,访问百度的地址是: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范围内,且不和其他特定端口号冲突即可。
6、管理员账号和密码配置
打开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默认的应用。还进入服务器状态查看页面:
7、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主页
可以看到,此时,就会优先访问index.html了。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144396.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...