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

在这里插入图片描述

文章目录

  • 前言
  • 下载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可执行程序要是运行状态。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

专访|OpenTiny 社区 Mr 栋:结合兴趣,明确定位,在开源中给自己一些技术性挑战

前言 OpenTiny 开源之夏项目终于迎来了圆满的结局。借此机会&#xff0c;我们采访了 TinyReact 的共建者 Mr 栋同学。 Mr 栋同学是一位热衷于前端技术的开发者&#xff0c;对前端开发充满了激情和热爱。同时他也是一位即将毕业的大四在校生。在 OpenTiny 开源项目中&#xff0…

Java18新增特性

前言 前面的文章&#xff0c;我们对Java9、Java10、Java11、Java12 、Java13、Java14、Java15、Java16、Java17 的特性进行了介绍&#xff0c;对应的文章如下 Java9新增特性 Java10新增特性 Java11新增特性 Java12新增特性 Java13新增特性 Java14新增特性 Java15新增特性 Java…

做一个Sprngboot文件上传-阿里云

概述 这个模块是用来上传头像以及文章封面的&#xff0c;图片的值是一个地址字符串&#xff0c;一般存放在本地或阿里云服务中 1、本地文件上传 我们将文件保存在一个本地的文件夹下&#xff0c;由于可能两个人上传不同图片但是却同名的图片&#xff0c;那么就会一个人的图片就…

Mac 本地部署thinkphp8【部署环境以及下载thinkphp】

PHP的安装以及环境变量配置 1 PHP安装&#xff1a;在终端输入brew install php 这里是PHP下载的最新的 如果提示‘brew’找不到&#xff0c;自己搜索安装吧&#xff0c; 不是特别难 2 环境变量配置 终端输入vim ~/.bash_profile 输入export PATH"/usr/local/Cellar/php/8.…

ubuntu18.04安装google浏览器

下载google安装包 wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 安装google浏览器 sudo dpkg -i google-chrome-stable_current_amd64.deb 执行安装 sudo apt-get -f install 启动浏览器 在应用程序中找到google图标点击运行

安全区域边界(设备和技术注解)

网络安全等级保护相关标准参考《GB/T 22239-2019 网络安全等级保护基本要求》和《GB/T 28448-2019 网络安全等级保护测评要求》 密码应用安全性相关标准参考《GB/T 39786-2021 信息系统密码应用基本要求》和《GM/T 0115-2021 信息系统密码应用测评要求》 1边界防护 1.1应保证跨…

Spark数据倾斜优化

1 数据倾斜现象 1、现象 绝大多数task任务运行速度很快&#xff0c;但是就是有那么几个task任务运行极其缓慢&#xff0c;慢慢的可能就接着报内存溢出的问题。 2、原因 数据倾斜一般是发生在shuffle类的算子&#xff0c;比如distinct、groupByKey、reduceByKey、aggregateByKey…

vue脚手架初始化项目搭建后配置路由【小白易学】

首先这里你已经创建好项目了&#xff0c;这是跑起来的效果 首先第一步&#xff0c;需要下载路由router npm install vue-router4下载好了之后找到main.js页面,加入router import { createApp } from vue; import App from ./App.vue; import router from ./routercreateApp(A…

采集标准Docker容器日志:部署阿里云Logtail容器以及创建Logtail配置,用于采集标准Docker容器日志

文章目录 引言I 预备知识1.1 LogtailII 查询语法2.1 具体查询语法2.2 查询示例2.3 设置token时间(登录过期时间)see also引言 I 预备知识 1.1 Logtail Logtail是日志服务提供的日志采集Agent,用于采集阿里云ECS、自建IDC、其他云厂商等服务器上的日志。本文介绍Logtail的功…

RTOS实时操作系统在嵌入式开发中的应用

随着各种嵌入式系统应用的日益复杂和对实时性要求的提高&#xff0c;使用实时操作系统&#xff08;RTOS&#xff09;成为嵌入式开发中的一种重要选择。STM32微控制器作为一种强大的嵌入式处理器&#xff0c;与各种RTOS相结合&#xff0c;能够提供更高效、可靠并且易于维护的系统…

ESP32网络开发实例-BME280传感器数据保存到InfluxDB时序数据库

BME280传感器数据保存到InfluxDB时序数据库 文章目录 BME280传感器数据保存到InfluxDB时序数据库1、BM280和InfluxDB介绍2、软件准备3、硬件准备4、代码实现在本文中,将详细介绍如何将BME280传感器数据上传到InfluxDB中,方便后期数据处理。 1、BM280和InfluxDB介绍 InfluxDB…

postgreSQL中的高速缓存

1. 高速缓存简介 ​如下图所示&#xff0c;当一个postgreSQL进程读取一个元组时&#xff0c;需要获取表的基本信息&#xff08;例如&#xff1a;表的oid、索引信息和统计信息等&#xff09;及元组的模式信息&#xff0c;这些信息被分别记录在多个系统表中。通常一个表的模式信…

果园自主跟随碎枝机器人

开发背景 农业扶贫项目—— 开发一款适用于猕猴桃果园的跟随碎枝机器人。 在猕猴桃的种植培育过程中&#xff0c;一项非常重要的环节便是剪枝&#xff0c;通常有冬剪和夏剪。以往果农剪完枝条后要将散落于地的枝条归拢后统一粉碎还田。这需要专门收集地面上的枝条并将其归拢到…

C语言指针进阶

文章目录 1.字符指针1.1字符1.2字符串 2.数组指针2.2数组名和&数组名2.3数组指针的使用2.3.1一维数组例子2.3.2 二维数组传参2.3.2.1参数是数组的形式2.3.2.2参数是指针的形式 3.指针数组4.数组传参和指针传参4.1 一维数组传参4.1.1参数为数组的形式&#xff0c;参数为指针…

windows系统用于 SDN 的软件负载均衡器 (SLB)

适用于&#xff1a;Azure Stack HCI 版本 22H2 和 21H2&#xff1b;Windows Server 2022、Windows Server 2019、Windows Server 2016 软件负载均衡器包括哪些内容&#xff1f; 软件负载均衡器提供以下功能&#xff1a; 适用于北/南和东/西 TCP/UDP 流量的第 4 层 (L4) 负载均…

制造企业使用设备健康管理平台的好处

智能科技的发展不仅改变了我们的日常生活&#xff0c;也给工业制造领域带来了巨大的变化。在制造业生产线上&#xff0c;每天都在使用各种不同的机器设备来生产我们日常使用的物品。然而&#xff0c;这些设备的维护、维修和状态监测成为了制造企业的一大挑战。随着科技的发展&a…

java学习part02一些特性

17-Java语言概述-Java语言的特点和JVM的功能_哔哩哔哩_bilibili 1.java优点 跨平台性 在jvm上运行 2.jvm 2.1实现跨平台性 不需要对每一种指令集编写编译器&#xff0c;只需要针对jvm编程&#xff0c;jvm会自动转换 2.2内存回收 内存溢出&#xff1a;用的内存太多已经占满了&…

机器视觉系统的组成

图像获取 光学系统采集图像&#xff0c;图像转换成模拟格式并传入计算机存储器。 图像处理和分析 处理器运用不同的算法来提高对结论有重要影响的图像要素并形成数据作为判决依据。 判决和输出 处理器的控制程序根据收到的数据做出结论并输出信息作反馈控制等应用。

初认识vue,v-for,v-if,v-bind,v-model,v-html等指令

vue 一.vue3介绍 1.为什么data是函数而不是对象? 因为vue是组件开发,组件会多次复用,data如果是对象,多次复用是共享,必须函数返回一个新的对象 1. 官网初识 Vue (发音为 /vjuː/&#xff0c;类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS …

11.10 知识总结(数据的增删改查、如何创建表关系、Django框架的请求生命周期流程图)

一、 数据的增删改查 1.1 用户列表的展示 把数据表中得用户数据都给查询出来展示在页面上 添加数据 id username password gender age action 修改 删除 1.2 修…