Tomcat的下载和安装教程,超级详细

Tomcat的下载和安装教程,超级详细1、什么是Tomcat?tomcat是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP程序的首选。最初由Sun公司的软件架构师詹姆斯·邓肯·戴维森开发,后来他帮助将其变为开源项目并由Sun公司贡献给Apache软件基金会。2、Tomcat的下载1)下载地址http://tomcat.apache.org/2)版本选择进入官网主页,看到左侧栏的download的下载目录,尽量不选择最新的版本,选择较为稳定的版本。目前最新的版本是

大家好,又见面了,我是你们的朋友全栈君。

1、什么是Tomcat?

  • tomcat是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP 程序的首选。
  • 最初由Sun公司的软件架构师詹姆斯·邓肯·戴维森开发,后来他帮助将其变为开源项目并由Sun公司贡献给Apache软件基金会。

2、Tomcat的下载

1)下载地址

http://tomcat.apache.org/

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账号...

(0)
blank

相关推荐

  • 百度竞价点击(商盾)研究

    百度竞价点击(商盾)研究今天写个比较详细的说明,也参考了大量这方面的资料进行的总结,算是给大家一个长见识,写的不好的地方,希望大家多多指教!感谢吾爱朋友的支持!移动广告平台都有各自的检测点击欺诈的机制,通过各种维度(包括I

  • python中的while循环语句_python while循环语句用法

    python中的while循环语句_python while循环语句用法文|天罡君while和for都可以使程序重复执行某一段代码(又称作循环体),区别是for循环用于针对集合中的每一个元素都一个代码块,而while循环在表达式为True的情况下会不断地执行,直到指定条件不满足为止。今天我们一起来学习下while关键字的使用。1.while循环简介while在英语中的解释是:当…时候。在Python中的语法是:while表达式:循环体…

  • c语言网络通信_c语言tcp网络编程

    c语言网络通信_c语言tcp网络编程目录TCP/IP协议介绍TCP/IP协议与WinSock网络编程接口的关系WinSock编程简单流程VC中socket编程·服务器实现·客户端实现测试结果TCP/IP协议介绍TCP/I…

    2022年10月21日
  • org.aspectj aspectjweaver 报错

    org.aspectj aspectjweaver 报错http://mvnrepository.com/artifact/org.aspectj/aspectjweaver在pom中把版本改高一些就Ok了      org.aspectj     aspectjweaver     1.7.4   之前红色部分是1.6.11

  • 关于RuntimeException[通俗易懂]

    关于RuntimeException[通俗易懂]关于RuntimeException今天在写一个异常类的时候继承了RuntimeException,想一探究竟。RuntimeException:在定义方法时不需要声明会抛出runtimeException。Exception:定义方法时必须声明所有可能会抛出的exception。于是去查看了一翻api。publicRuntimeException() 提出了一种新的null运行时异常的详细信息。原因是没有初始化,初始化后可通过调用Throwable.initCause(..

  • asp.net repeater_asp.net core

    asp.net repeater_asp.net coreasp.net在Repeater嵌套的Repeater中使用复选框来自森大科技官方博客http://www.cnsendblog.com/index.php/?p=109.aspx文件中:&lt;%–顶层Repeater–%&gt;&lt;asp:RepeaterID=“rptChannel”runat=“server”&gt;&lt;%#Eval(“ChannelName”…

    2022年10月13日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号