HTTP服务器——tomcat的安装和使用

news2024/12/26 11:06:57

在这里插入图片描述

文章目录

  • 前言
  • 下载tomcat
  • tomcat 文件
    • bin 文件夹
    • conf 文件
    • lib 文件
    • log 文件
    • temp 文件
    • webapps 文件
    • work 目录
  • 如何使用 tomcat

前言

前面我们已经学习了应用层协议 HTTP 协议和 HTTP 的改进版——HTTPS,这些协议是我们在写与服务器相关的代码的时候息息相关的,而在现实开发网站的时候,我们就需要用到 HTTP 服务器,自己手写出来一个服务器是比较麻烦的,所以在咱们Java圈子中有一个现成的比较知名的 HTTP 服务器——tomcat。今天我将为大家分享关于 tomcat 的安装和使用。

下载tomcat

进入官网https://tomcat.apache.org/

在这里插入图片描述
这里我们选择 tomcat8 进行下载,tomcat8 比较稳定。
在这里插入图片描述
在这里插入图片描述
下载完成之后,因为 tomcat 是绿色安全软件,所以下载下来之后不是一个程序,而是一个压缩包,对这个压缩包进行解压缩之后就会得到这样的一个文件目录。

在这里插入图片描述

tomcat 文件

bin 文件夹

Tomcat下的bin文件夹存放的是启动和停止Tomcat服务的脚本文件,是Tomcat服务器的核心部分。

具体来说,bin文件夹下包含了一些用于启动和停止Tomcat服务的可执行文件,例如在Windows系统下的脚本文件.bat和在Linux系统下的脚本文件.sh。这些脚本文件包含了启动和停止Tomcat服务的命令和参数,可以用来启动和停止Tomcat服务器。

此外,bin文件夹下还包含了一些其他的工具和配置文件,例如tomcat-juli.jar、tomcat-util.jar等,这些文件是Tomcat服务器运行所必需的。
在这里插入图片描述
bin 目录下放的就是 tomcat 的一些可执行脚本。

在这里插入图片描述
在这些脚本中,这两个脚本就是 tomcat 的启动脚本。

在这里插入图片描述
.bat 就是Windows上的批处理程序,.sh 是Linux下的 shell 脚本。我这个是 Windows 环境,所以我双击 startup.bat 启动程序。

在这里插入图片描述
tomcat是控制台程序,tomcat 启动之后就会在最后显示出启动的时间。仔细观察还会发现,当启动tomcat 的时候,控制台会出现很多的乱码,这是因为Windows控制使用的字符编码是 GDK ,而 tomcat 使用的则是 utf8,这里不建议大家更改,现在就这样看。

当我们启动成功 tomcat 之后其实是可以进入 tomcat 的欢迎界面的,我们在浏览器搜索栏中输入 127.0.0.1:8080,就可以进入 tomcat 的欢迎界面。(tomcat默认绑定的是我们的 8080 端口和 8005 管理端口)
在这里插入图片描述
如果在这个过程中,大家启动 tomcat 遇到问题了之后,大家是不容易看到哪里出错的,所以就可以使用下面方法来查看哪里出了问题。

打开 CMD,将 tomcat 所在的启动程序拖到 CMD 中。

在这里插入图片描述
在这里插入图片描述
这里就显示环境变量没有配置好,所以我们就需要配置一下这里的 CATALINA_HOME 环境变量。

需要注意的是:tomcat 是Java编写的,所以需要保证我们的电脑上安装了 JDK,tomcat 才能正常使用。

conf 文件

conf 文件中存放的是一些配置文件。一个程序的功能是非常丰富的,而有些人可能用的上这个功能,但是有些人却用不上这个功能,所以就不可能默认给你全部开启,这样程序运行的速度也会变慢,所以就需要按需求开始这些功能,我们平时使用一些程序的时候,往往开启或者关闭某些功能的时候会有专门的选项,但是在这里因为咱们是专业的程序员,所以一般就是通过配置文件来进行设置的。
在这里插入图片描述

tomcat 的配置主要是通过 xml 文件提供的。

lib 文件

Tomcat下的lib文件夹主要用来存放Tomcat服务器运行所需的Java类库。这些类库包括Tomcat本身需要的jar包,也包括部署的应用程序需要的jar包。

在Tomcat的lib文件夹中,可以找到许多常用的Java类库和工具,例如Apache Commons、JavaMail、JSP标准标签库(JSTL)等。这些类库和工具可以帮助开发人员更方便地编写和运行Java应用程序。

在这里插入图片描述

log 文件

Tomcat下的log文件夹用于存放Tomcat服务器运行时的日志文件。这些日志文件记录了Tomcat服务器的启动过程、运行状态、错误信息等重要信息。

在Tomcat的log文件夹中,可以找到各种类型的日志文件,例如catalina.log、tomcat7-stderr.log、tomcat7-stdout.log等。这些日志文件记录了Tomcat服务器的不同方面的信息,例如启动时的JVM参数、操作系统信息、应用程序的运行情况、错误信息等。

通过查看和分析Tomcat的日志文件,可以了解Tomcat服务器的运行状态和问题,帮助管理员更好地维护和管理Tomcat服务器。因此,log文件夹对于Tomcat服务器的监控和维护来说是非常重要的。

在这里插入图片描述

打开文件就可以查看里面的内容,这些文件打开就不会出现乱码的情况了,也就是说前面我们打开 tomcat 控制台的时候出现的乱码,可以在这个文件夹中看到。

temp 文件

Tomcat下的temp文件夹主要是用来存放Tomcat在运行过程中产生的临时文件。这些临时文件包括Tomcat运行时的编译后文件、日志文件等。

一般来说,temp文件夹中的内容可以在Tomcat运行过程中进行修改和更新,但并不影响Tomcat的核心功能和运行。当Tomcat服务器关闭时,temp文件夹中的内容将被清除。

webapps 文件

Tomcat下的webapps文件夹是用于存放应用程序的目录。当Tomcat启动时,它会去加载webapps目录下的应用程序。这些应用程序可以以文件夹、war包、jar包的形式发布。实际上,webapps目录是Tomcat的主要Web发布目录,其中root目录就是默认的项目目录。

在webapps目录中,可以放置各种类型的应用程序,包括静态网页、动态网页、Web服务等等。当用户请求访问这些应用程序时,Tomcat会根据请求的URL路径来查找并返回相应的应用程序内容。

在这里插入图片描述

我们使用 tomcat 作为 HTTP 服务器完成的网站的前后端代码都要处于这个文件夹下。

work 目录

Tomcat下的work文件夹是用于存储Tomcat运行时生成的临时文件和缓存文件的目录。

具体来说,work目录主要用于存储Tomcat运行时生成的临时文件。例如,当应用程序在Tomcat中运行时,Tomcat会将JSP文件编译成相应的Java代码,并将编译后的Java代码存储在work目录中,这些编译后的Java代码将被JVM加载并执行。

此外,work目录还用于缓存Servlet类。在Tomcat启动过程中,它会扫描所有WEB应用程序,并为每个Servlet生成相应的Servlet类,这些生成的Servlet类将被存储在work目录中,以便在需要时加载和执行,这样可以提高应用程序的运行效率。

在这里插入图片描述

如何使用 tomcat

前面我们说了 webapps 下存放的都是网站相关的前后端代码,所以我们写网站的时候就需要在该文件夹下创建项目。

在这里插入图片描述
在这里插入图片描述
用 VScode 打开这个文件。并且写一个简单的 HTML 代码。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    hello java
</body>
</html>

保存之后,我们就可以在浏览器的搜索中输入 URL 通过 tomcat 打开这个文件。

在这里插入图片描述
这个 URL 127.0.0.1就是环回 IP ,表示我们自己的电脑,8080是 tomcat 的端口号,表示访问这个程序,然后 java/hello.html 就是我们需要打开的文件的具体路径。

而如果我们直接双击这个文件的话,就相当于显示的是这个文件中的内容,这个文件只能我们本地自己访问,别人是不能访问到这个文件的,如果我们用 URL 的形式访问的话,那么当我们把这个程序放在公网上的话,别人就能访问到我们的这个网站。
在这里插入图片描述

注意:访问tomcat的时候,需要保证tomcat处于运行状态,也就是startup.bat或者startup.sh可执行程序要是运行状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1205576.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

cocosCreator 之内存管理和释放

版本&#xff1a; 3.4.0 语言&#xff1a; TypeScript 环境&#xff1a; Mac 回顾 前面有两篇博客说明了&#xff1a; cocosCreator 之 resources动态加载、预加载 讲述了静态引用资源&#xff0c;动态加载和预加载相关cocosCreator 之 Bundle 讲述了AssetManager关于对内置…

将随机数设成3407,让你的深度学习模型再涨一个点!文再附3种随机数设定方法

随机数重要性 深度学习已经在计算机视觉领域取得了巨大的成功&#xff0c;但我们是否曾想过为什么同样的模型在不同的训练过程中会有不同的表现&#xff1f;为什么使用同样的代码&#xff0c;就是和别人得到的结果不一样&#xff1f;怎么样才能保证自己每次跑同一个实验得到的…

技术管理责任制度《一》

一、技术管理机构责任制 (1) 按各级技术人员的职责范围&#xff0c;分工负责&#xff0c;做好经常性的技术业务工作。 (2) 组织贯彻执行国家有关技术政策和上级办法的技术标准、规定、规程、和各项技术管理制。 (3) 负责收集和提供技术情报、技术资料、技术建议和技术措施等。 …

什么是状态机?

什么是状态机&#xff1f; 定义 我们先来给出状态机的基本定义。一句话&#xff1a; 状态机是有限状态自动机的简称&#xff0c;是现实事物运行规则抽象而成的一个数学模型。 先来解释什么是“状态”&#xff08; State &#xff09;。现实事物是有不同状态的&#xff0c;例…

Spark3.0中的AOE、DPP和Hint增强

1 Spark3.0 AQE Spark 在 3.0 版本推出了 AQE&#xff08;Adaptive Query Execution&#xff09;&#xff0c;即自适应查询执行。AQE 是 Spark SQL 的一种动态优化机制&#xff0c;在运行时&#xff0c;每当 Shuffle Map 阶段执行完毕&#xff0c;AQE 都会结合这个阶段的统计信…

[工业自动化-19]:西门子S7-15xxx编程 - 软件编程 - PLC程序块、组织块OB与PLC多线程原理、OB、FC、FB、DB

目录 一、PLC的块的种类 1.1 什么是块 1.2 块的种类 1.3 不同块之间的相互调用关系 1.4 OB、FC、FB和DB 二、PLC程序组织块OB 2.1 什么是程序块OB 2.2 为什么需要程序块OB 2.3 PLC有哪些程序块 2.4 如何使用程序块 - OB块的执行顺序和规则 2.5 PLC用户程序主函数&am…

2023.11.12使用flask对图片进行黑白处理(base64编码方式传输)

2023.11.12使用flask对图片进行黑白处理&#xff08;base64编码方式传输&#xff09; 由前端输入图片并预览&#xff0c;在后端处理图片后返回前端显示&#xff0c;可以作为图片处理的模板。 关键点在于对图片进行base64编码的转化。 使用Base64编码可以更方便地将图片数据嵌入…

sass 生成辅助色

背景 一个按钮往往有 4 个状态。 默认状态hover鼠标按下禁用状态 为了表示这 4 个状态&#xff0c;需要设置 4 个颜色来提示用户。 按钮类型一般有 5 个&#xff1a; 以 primary 类型按钮为例&#xff0c;设置它不同状态下的颜色&#xff1a; <button class"btn…

【Android】配置Gradle打包apk的环境

目录 生成jks签名文件 配置build.gradle&#xff08;app&#xff09; 打包 生成jks签名文件 Java 密钥库&#xff08;.jks 或 .keystore&#xff09;是用作证书和私钥存储库的二进制文件。用于为用户设备上安装的 APK 签名的密钥。 详细解释请看官方文档&#xff1a; 为应用…

OpenCV踩坑笔记使用笔记入门笔记整合SpringBoot笔记大全

springboot开启摄像头抓拍照片并上传实现&问题记录 NotAllowedErrot: 请求的媒体源不能使用&#xff0c;以下情况会返回该错误: 当前页面内容不安全&#xff0c;没有使用HTTPS没有通过用户授权NotFoundError: 没有找到指定的媒体通道NoReadableError: 访问硬件设备出错Ov…

Linux线程创建,退出,等待

目录​​​​​​​ 一 为什么使用线程 1.1概念 1.2使用线程的理由 二 线程的创建&#xff0c;退出&#xff0c;等待 2.1 线程创建 2.2 线程退出 2.3.线程等待 2.4. 线程ID获取及比较 一 为什么使用线程 1.1概念 概念&#xff1a;"进程——资源分配的最小单位&…

【算法训练-链表 零】链表高频算法题看这一篇就够了

一轮的算法训练完成后&#xff0c;对相关的题目有了一个初步理解了&#xff0c;接下来进行专题训练&#xff0c;以下这些题目就是汇总的高频题目 题目题干直接给出对应博客链接&#xff0c;这里只给出简单思路、代码实现、复杂度分析 反转链表 依据难度等级分别为反转链表、…

2023数字科技生态展,移远通信解锁新成就

11月10日&#xff0c;以“数字科技&#xff0c;焕新启航”为主题的中国电信2023数字科技生态大会暨2023数字科技生态展在广州盛大启幕。作为物联网行业的龙头标杆&#xff0c;同时更与中国电信连续多年维持稳定友好的合作关系&#xff0c;移远通信受邀参加本次展会。 在本次展会…

Docker - DockerFile

Docker - DockerFile DockerFile 描述 dockerfile 是用来构建docker镜像的文件&#xff01;命令参数脚本&#xff01; 构建步骤&#xff1a; 编写一个dockerfile 文件docker build 构建成为一个镜像docker run 运行脚本docker push 发布镜像&#xff08;dockerhub&#xff0…

你真的会使用 MySQL中EXPLAIN吗

EXPLAIN是MySQL数据库中一个强大的工具&#xff0c;用于查询性能分析和优化。通过EXPLAIN&#xff0c;你可以查看MySQL查询的执行计划&#xff0c;了解MySQL是如何执行你的查询语句的。这篇文章将详细介绍EXPLAIN的使用&#xff0c;帮助你更好地理解和优化MySQL查询。 为什么使…

卫星通信和800MHz双管齐下,中国电信对中国移动发起新挑战

依靠国内某科技企业的宣传&#xff0c;卫星通信大热&#xff0c;中国电信也由此成为受益者&#xff0c;日前中国电信又大举招标25万座800MHz 5G基站&#xff0c;显示出中国电信积极以技术优势挑战中国移动。 一、中国电信急起直追 自从4G时代以来&#xff0c;中国电信就在国内通…

web3 React dapp进行事件订阅

好啊&#xff0c;上文web3 React Dapp书写订单 买入/取消操作 我们已经写好了 填充和取消订单 这就已经是非常大的突破了 但是 留下了一个问题 那就是 我们执行完之后 订单的数据没有直接更新 每次都需要我们手动刷新 才能看到结果 那么 今天我们就来看解决这个问题的事件订阅 …

ISP图像处理Pipeline

参考&#xff1a;1. 键盘摄影(七)——深入理解图像信号处理器 ISP2. Understanding ISP Pipeline3. ISP图像处理流程介绍4. ISP系统综述5. ISP(图像信号处理)之——图像处理概述6. ISP 框架7. ISP(图像信号处理)算法概述、工作原理、架构、处理流程8. ISP全流程简介9. ISP流程介…

spring boot中使用Bean Validation做优雅的参数校验

一、Bean Validation简介 Bean Validation是Java定义的一套基于注解的数据校验规范&#xff0c;目前已经从JSR 303的1.0版本升级到JSR 349的1.1版本&#xff0c;再到JSR 380的2.0版本&#xff08;2.0完成于2017.08&#xff09;&#xff0c;目前最新稳定版2.0.2&#xff08;201…

互联网Java工程师面试题·微服务篇·第二弹

目录 18、什么是 Spring 引导的执行器&#xff1f; 19、什么是 Spring Cloud&#xff1f; 20、Spring Cloud 解决了哪些问题&#xff1f; 21、在 Spring MVC 应用程序中使用 WebMvcTest 注释有什么用处&#xff1f; 22、你能否给出关于休息和微服务的要点&#xff1f; 23、…