Javaweb————Apache Tomcat服务器介绍及Windows,Linux,MAC三种系统搭建Apache Tomcat

🏍️🏍️🏍️第一部分:什么是服务器?

服务器是远程的一个电脑,里面安装服务器程序监听对应的端口对外提供服务,可以根据用户的请求去获取对应的数据并返回给调用方。

🏍️🏍️🏍️第二部分:web服务器和应用服务器的共性和区别

我们说的Web服务器和应用服务器是指服务器电脑上安装的软件,web服务器和应用服务器是有很大的交集,没有很严格的区别, web服务器处理的更多的是Http协议,应用服务器还可以处理其他协议
web服务器:Apache ,IIS,Nginx
应用服务器:Tomcat、,Jboss等

🏍️🏍️🏍️第三部分:什么是Tomcat?

先来说一下Apache组织

Apache软件基金会(也是Apache Software Foundation简称为ASE)是专门为运作一个开源软件项目的Apache 的团体提供支持的非盈利性组织。也是java开发里面顶级的组织,阿里也向apache组织贡献了多个开源项目

官网:https://wwww apache.org/

🍕🍕🍕Apache Tomcat
Apache是web服务器, Tomcat是应用(java)服务器、它是-一个servlet容器,是Apache的扩展
简单来说:是一个开放源代码的轻量级 web应用服务器,是目前javaweb开发里面用的最多一个web服务器之一

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

我们在javaweb开发中说的Tomcat都是指Apache Tomcat

🏍️🏍️🏍️第四部分:Windows,Linux,MAC三种系统搭建Apache Tomcat

❤️❤️❤️一.搭建前的准备工作

💙(1)电脑需要有java环境,必须是jdk8及以上版本,否则启动不成功
💙(2)已经安装有文本编辑器,比如记事本,VSCODE或者Sublime等文件编辑软件
💙(3)windows电脑需要显示文件的后缀扩展名,这个非常重要
💙(4)系统环境变量里必须配置JAVA_HOME和JRE_HOME这两个变量值,并且指向对应的JDK和JRE的安装目录(根据个人的安装情况),否则就会出现下图的报错,这是小编实际安装过程中遇到的问题,希望读者引起重视

在这里插入图片描述
❤️❤️❤️这里我们说一下如何配置JDK和JRE的环境变量
Windows系统下如果找不到JDK的安装目录,可以在命令行输入where javac(Linux是which javac)然后复制路径新建环境变量粘贴进去路径,JRE的话可以浏览C盘的Program Files下的java文件夹下有形如jre后面直接跟版本号的文件夹,然后复制路径再创建一个环境变量粘贴进去路径,一定是这种格式的才行,小编是亲自做过实验的

❤️❤️❤️二.Apache Tomcat的下载方式

🍕🍕首先访问网址 https://tomcat.apache.org进入到官网,如下图所示
在这里插入图片描述

🍕🍕🍕然后我们在左侧的版本中选择Tomcat9,最新版本是Tomcat11但是小编不建议安装,因为最新版本遇到问题相关的教程少,会出现很多麻烦,新版本引入的API对我们的实际开发影响也不大,点击Core下面的zip版本就会开始下载

在这里插入图片描述

❤️❤️❤️三.Windows,Linux和MAC三种系统启动和关闭Apache Tomcat的方式

小编的电脑系统是Windows 11所以主要演示的是Windows系统的安装流程,同时也会给出Linux和MAC(苹果系统)的安装方程,需要注意的是Linux和MAC系统是一种安装方案,Windows是一种安装方案,两种方案只是细微的有所不同,后文会穿插介绍

🍕🍕🍕首先我们把下载好的文件解压到桌面,然后打开可以看到一个二进制文件的bin目录,这就是我们的启动目录
在这里插入图片描述
🍕🍕🍕我们注意到bin目录下的两个文件,一个是bat后缀,一个是sh后缀,Windows系统是用bat文件启动的,Linux和MAC系统是用sh文件启动,这就是展示文件后缀名的重要性
在这里插入图片描述
然后我们就来说一下两套不同的安装方案:
🍕🍕🍕不管是哪种系统都需要进入到对应的命令行终端,以小编的Windows11系统为例,在下图的目录界面的空白处按下shift+鼠标右键,在弹出的框中选择在此处打开Powershell就可以进入到终端
在这里插入图片描述

🍕🍕🍕然后进入到对应的终端后我们输入cd bin,然后再按所用的系统执行下面对应的命令

启动Tomcat:
💙MAC或者Linux: ./startup.sh(如果失败需要增加执行权限: chmod 777./*)
💙windows: ./startup.bat
关闭Tomcat:
MAC或者Linux: shutdown.sh
windows:shutdown. bat 或者关闭CMD窗口

😎😎😎😎😎😎注意我们在Windows系统中关闭命令行窗口就代表关闭了服务器

下图是我们在Windows11系统的powershell中启动Apache Tomcat的启动成功后的运行图
在这里插入图片描述

🍕🍕🍕但是我们会发现上图中全部是中文乱码,这是由于编码格式设置的有问题,我们打开下图所示的conf文件,这是配置文件,我们来修改一下

在这里插入图片描述
🍕🍕🍕打开conf下的logging文件用任意一种电猫上已经下载好的文本编辑器

在这里插入图片描述
🍕🍕🍕我这里用的是VSCODE打开的,找到下图所示的配置行,将UTF-8的编码改成GBK(注意全大写)就可以了
在这里插入图片描述
🍕🍕🍕然后我们再返回去重新启动一下服务器可以发现乱码消失了,我们可以清晰的看到服务器的启动成功的信息
在这里插入图片描述

🍕🍕🍕然后我们可以通过浏览器访问http://localhost:8080或者127.0.0.1:8080看到下面Tomcat启动成功的页面
在这里插入图片描述

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

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

相关文章

winsock socket通讯为什么UDP服务器无法获取客户端IP?

针对VB6 Winsock开发中UDP服务器无法获取客户端IP的问题,以下是系统性排查方案: 一、基础协议特性确认UDP无连接特性 Winsock的UDP协议本身是无连接的,需通过GetPeerName方法主动获取对端IP,而非自动存储。数据接收处理 必须在Dat…

大模型时代,Transformer 架构中的核心注意力机制算法详解与优化实践

大模型时代,Transformer 架构中的核心注意力机制算法详解与优化实践Transformer 注意力机制深度解析与工业级优化实践一、注意力机制核心原理1.1 基础注意力公式1.2 多头注意力(Multi-Head)1.3 注意力机制可视化二、工业级优化技术2.1 计算效…

自学嵌入式 day40 51单片机

一、嵌入式:以应用为中心,计算机为基础,软硬件可剪裁的专用计算机系统二、MCU:Micro Controcler Unit 微控制单元->单片机1、特点:集成化高,集成到一块芯片外设(GPIO、UART、ADC)…

Minimizing Coins(Dynamic Programming)

题目描述Consider a money system consisting of n coins. Each coin has a positive integer value. Your task is to produce a sum of money x using the available coins in such a way that the number of coins is minimal. For example, if the coins are {1,5,7} and t…

Kafka——关于Kafka动态配置

引言在Kafka的运维实践中,参数配置的调整曾是一件令工程师头疼的事情。传统模式下,Broker的所有参数都需要在server.properties中静态定义,任何修改都必须重启Broker才能生效。对于承载着核心业务的生产集群而言,频繁重启不仅意味…

MSQL-聚簇索引与非聚簇索引的比较

聚簇索引详解InnoDB 的聚簇索引特性表数据本身就是聚簇索引:数据行实际存储在聚簇索引的叶子节点中"表就是索引,索引就是表"的结构每个InnoDB表有且只有一个聚簇索引聚簇索引的叶子节点存储的是:真实数据主键作为聚簇索引&#xff…

语音识别数据集

目录 Voice Activity Detection 自己采集: 1. ASR Resources(语音识别资源) 2. LM Resources(语言模型资源) 这是一个数据表: 噪声数据集: Voice Activity Detection 自己采集&#xff1a…

Linux线程同步与互斥(上)

目录 前言 1.互斥 1.先来见一种现象(数据不一致问题) 2.如何解决上述问题 3.理解为什么数据会不一致&&认识加锁的接口 4.理解锁 5.锁的封装 前言 在前面对线程的概念和控制的学习过程中,我们知道了线程是共享地址空间的&#…

Codeforces Global Round 27

ABC 略D将每个数拆成x*2的整数次幂&#xff0c;一个直接的想法是尽量把2的整数次幂给大的数。那么所有乘上2的整数次幂的数构成的序列单调递减&#xff0c;反证法&#xff0c;如果序列中存在i j 使得a[i]<a[j]&#xff0c;那么我们不如把给a[i]乘的2的幂给a[j]乘。#include …

深入 Go 底层原理(二):Channel 的实现剖析

1. 引言"Do not communicate by sharing memory; instead, share memory by communicating." (不要通过共享内存来通信&#xff0c;而应通过通信来共享内存。) 这是 Go 语言并发设计的核心哲学。而 channel 正是实现这一哲学的核心工具。Channel 为 Goroutine 之间的…

Golang 语言的编程技巧之类型

1、介绍Golang 语言是一门静态类型的编程语言&#xff0c;我们在编写代码时&#xff0c;为了提升代码的灵活性&#xff0c;有时会使用空接口类型&#xff0c;对于空接口类型的变量&#xff0c;一般会通过类型断言判断变量的类型&#xff0c;而且可能还会遇到遇到类型转换的场景…

计数组合学7.11(RSK算法)

7.11 RSK算法 在对称函数理论中&#xff0c;有一个非凡的组合对应关系&#xff0c;称为RSK算法。&#xff08;关于缩写RSK的含义以及其他名称&#xff0c;请参阅本章末尾的注释。&#xff09;这里我们仅介绍RSK算法的最基本性质&#xff0c;从而能够给出舒尔函数一些基本性质的…

国产嵌入式调试器之光? RT-Trace 初体验!

做过嵌入式开发的工程师肯定都知道有这么个玩意儿 —— J-Trace&#xff0c;与我们日常使用的普通调试器不同点在于&#xff0c;它在基本的下载/调试代码之上还具有非常强大的代码运行跟踪能力&#xff0c;从而实现代码覆盖率的分析、指令回溯、CPU 资源监控等一系列强大的功能…

SLAM中的非线性优化-2D图优化之零空间实战(十六)

终于有时间更新实战篇了&#xff0c;本节实战几乎包含了SLAM后端的所有技巧&#xff0c;其中包括&#xff1a;舒尔补/先验Factor/鲁棒核函数/FEJ/BA优化等滑动窗口法的相关技巧&#xff0c;其中构建2D轮式里程计预积分以及绝对位姿观测的10帧滑动窗口&#xff0c;并边缘化最老帧…

知识随记-----Qt 实战教程:使用 QNetworkAccessManager 发送 HTTP POST

文章目录Qt 网络编程&#xff1a;使用 QNetworkAccessManager 实现 HTTP POST 请求概要整体架构流程技术名词解释技术细节注意事项&#xff1a;Qt 网络编程&#xff1a;使用 QNetworkAccessManager 实现 HTTP POST 请求 概要 本文介绍如何使用 Qt 框架的网络模块&#xff08;…

wordpress批量新建产品分类

1、下载安装插件&#xff1a;bulk-category-import-export2、激活插件后&#xff0c;左侧点击插件下的导入&#xff0c;选择product categories&#xff0c;点击下一步3、这里可以选择导入的分类列表文件&#xff0c;可以选择分隔符&#xff0c;CSV文件默认为‘&#xff0c;’要…

CentOS 镜像源配置与 EOL 后的应对策略

引言 本文将详细介绍如何使用 阿里云开源镜像站 配置 CentOS 的各类软件源&#xff0c;包括基础源、历史归档源&#xff08;vault&#xff09;、ARM 架构源、Stream 版本以及调试信息源&#xff08;debuginfo&#xff09;&#xff0c;并重点讲解在 CentOS 8 停止维护后&#x…

CTF实战:用Sqlmap破解表单输入型SQL注入题(输入账号密码/usernamepassword)

目录 引言 步骤1&#xff1a;用Burp Suite捕获表单请求 步骤2&#xff1a;用Sqlmap获取数据库名称 参数解释&#xff1a; 输出示例&#xff08;根据题目环境调整&#xff09;&#xff1a; 步骤3&#xff1a;获取目标数据库中的表名 参数解释&#xff1a; 输出示例&#…

质数时间(二分查找)

题目描述如果把一年之中的某个时间写作 a 月 b 日 c 时 d 分 e 秒的形式&#xff0c;当这五个数都为质数时&#xff0c;我们把这样的时间叫做质数时间&#xff0c;现已知起始时刻是 2022 年的 a 月 b 日 c 时 d 分 e 秒&#xff0c;终止时刻是 2022 年的 u 月 v 日 w 时 x 分 y…

Python训练Day29

浙大疏锦行 类的装饰器装饰器思想的进一步理解&#xff1a;外部修改、动态类方法的定义&#xff1a;内部定义和外部定义