认识Tomcat (一)

认识Tomcat (一)

一、服务器

在这里插入图片描述

1.1 服务器简介

​ 硬件服务器的构成与一般的PC比较相似,但是服务器在稳定性、安全性、性能等方面都要求更高,因为CPU、芯片组、内存、磁盘系统、网络等硬件和普通PC有所不同。

​ 软件服务器(英文名称Server),也称伺服器。指一个管理资源并为用户提供服务的计算机软件,通常分为文件服务器、数据库服务器和应用程序服务器。运行以上软件的计算机或计算机系统也被称为服务器。

1.2 JavaEE应用服务器(JavaEE Application Server**)**

​ 应用服务器是Java EE规范的具体实现, 可以执行/驱动基于JavaEE平台开发的web项目。绝大部分的应用服务器都是付费产品。

常见的应用服务:

Weblogic(BEA Oracle 收费)

Webshpere(IBM 收费)

JBoss(RedHad 收费)

Geronimo(Apache 免费)

1.3 Web容器(Web Server)

只实现了JavaEE平台下部分技术标准,如Servlet,Jsp,JNDI,

JavaMail。Web容器是开源免费的。

Tomcat(Apache 开源免费)

Jetty(Jetty 开源免费)

二、Tomcat的使用

2.1 Tomcat简介

​ Tomcat服务器是Apache的一个开源免费的Web容器。它实现了JavaEE平台下部分技术规范,属于轻量级应用服务器。

2.2 Tomcat作用

​ 可以在Tomcat中运行我们所编写的Servlet、JSP。

在这里插入图片描述

三、Tomcat的下载与安装

3.1 Tomcat下载

下载地址:http://tomcat.apache.org/

3.2 Tomcat安装

Tomcat 是绿色软件,下载解压之后即可使用。

3.3 配置环境变量

Tomcat是用Java语言开发的Web容器,所以在使用Tomcat时需要在操作系统中正确配置环境变量。

JAVA_HOME:C:\Program Files\Java\jdk1.8.0_171

PATH:%JAVA_HOME%\bin;

CLASS_PATH:%JAVA_HOME%\lib;

3.4 Tomcat启动黑屏直接退出

这是因为下载之后,没有在系统变量中配置环境变量无法启动。配置上面的环境变量即可。

四、Tomcat目录结构与介绍

在这里插入图片描述

4.1 bin

bin目录主要是用来存放tomcat的命令文件,主要有两大类,一类

是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命

令)。

4.2 conf

conf目录主要是用来存放tomcat的一些配置文件。

4.3 lib

lib目录主要用来存放tomcat运行需要加载的jar包。在这个目录中需要注意下面这两个包
在这里插入图片描述

4.4 logs

logs目录用来存放tomcat在运行过程中产生的日志文件。

4.5temp

temp目录用户存放tomcat在运行过程中产生的临时文件。(清空

不会对tomcat运行带来影响)

4.6webapps

webapps目录用来存放应用程序,当tomcat启动时会去加载

webapps目录下的应用程序。可以以文件夹、war包的形式发布应

用。

4.7work

work目录用来存放tomcat在运行时的编译后文件,例如JSP编译后

的文件。

在这里插入图片描述

五、Tomcat基本使用

在这里插入图片描述

在Windows系统下启动 .bat文件,在Linux系统下启动.sh 文件

在这里插入图片描述

Tomcat的启动与关闭需要执行bin目录中的命令脚本。

5.1 Tomcat启动

方式一

运行startup.bat文件。

方式二

catlina.bat start

其中catlina.bat是命令文件,start是启动Tomcat参数。

这个是一串命令需要在终端启动。

5.2 Tomcat关闭

方式一

运行shutdown.bat文件。

方式二

catlina.bat stop

其中catlina.bat是命令文件,stop是关闭Tomcat参数。

这个是一串命令需要在终端启动。

方式三

直接关闭掉控制台窗口。

这种方式关闭可能会关闭不完全,下次启动时候报错。

5.3 访问Tomcat

访问Tomcat的URL格式:

http://ip:port

访问本机Tomcat的URL格式:

http://localhost:8080

5.4 Tomcat配置文件介绍

Tomcat 的配置文件由4个xml组成,分别是 context.xml、web.xml、server.xml、tomcat-users.xml。每个文件都有自己的功能与配置方法。

context.xml

context.xml 是 Tomcat 公用的环境配置。 Tomcat 服务器会定时

去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自

动重新加载这个文件,而不需要重启服务器 。

web.xml

Web应用程序描述文件,都是关于是Web应用程序的配置文件。所

有Web应用的 web.xml 文件的父文件。

server.xml

是 tomcat 服务器的核心配置文件,server.xml的每一个元素都对

应了 tomcat中的一个组件,通过对xml中元素的配置,实现对

tomcat中的各个组件和端口的配置。

tomcat-users.xml

配置访问Tomcat的用户以及角色的配置文件。

在这里插入图片描述

5.5 解决控制台乱码

控制台产生乱码的原因是在Tomcat在输出日志中使用的是UTF-8编

码,而我们中文的Windows操作系统使用的是GBK编码。由于编码

格式不统一,所以出现了乱码。

解决方式:

修改conf目录中的logging.properties文件重新指定的编码方式。

java.util.logging.ConsoleHandler.encoding =GBK

在这里插入图片描述

5.6修改Tomcat监听端口

Tomcat默认监听端口为8080。可以通过修改server.xml文件来改变

Tomcat的监听端口。

在这里插入图片描述

5.6 配置Tomcat Manager

5.6.1 什么是Tomcat Manager

Tomcat Manager是Tomcat自带的、用于对Tomcat自身以及部署

在Tomcat上的应用进行管理的web应用。默认情况下,Tomcat

Manager是处于禁用状态的。准确的说,Tomcat Manager需要以

用户角色进行登录并授权才能使用相应的功能,不过Tomcat并没有

配置任何默认的用户,因此我们需要先进行用户配置后才能使用

Tomcat Manager。

5.6.2 配置Tomcat Manager的访问用户

Tomcat Manager中没有默认用户,我们需要在tomcat-users.xml

文件配置。Tomcat Manager的用户配置需要配置两个部分:角色

配置、用户名及密码配置。

5.6.3 Tomcat Manager中的角色分类

manager-gui角色:

允许访问HTML GUI和状态页面(即URL路径为/manager/html/*)

manager-script角色:

允许访问文本界面和状态页面(即URL路径为/manager/text/*)

manager-jmx角色:

允许访问JMX代理和状态页面(即URL路径为/manager/jmxproxy/*)

manager- status角色:

仅允许访问状态页面(即URL路径为/manager/status/*)

5.7 配置用户及角色

修改tomcat-users.xml

在这里插入图片描述

5.8 解除访问限制

进入Tomcat的webapps目录下,打开webapps/manager/METAINF/context.xml文件,修改下面这段配置。可以在任意IP下访问Tomcat。

为/manager/jmxproxy/*)

manager- status角色:

仅允许访问状态页面(即URL路径为/manager/status/*)

5.7 配置用户及角色

修改tomcat-users.xml

[外链图片转存中…(img-iWY3JWqj-1707059048553)]

5.8 解除访问限制

进入Tomcat的webapps目录下,打开webapps/manager/METAINF/context.xml文件,修改下面这段配置。可以在任意IP下访问Tomcat。

在这里插入图片描述

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

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

相关文章

深度学习(生成式模型)—— Consistency Models

文章目录 前言预备知识:SDE与ODEMethod实验结果 前言 Diffusion model需要多次推断才能生成最终的图像,这将耗费大量的计算资源。前几篇博客我们已经介绍了加速Diffusion model生成图像速率的DDIM和Stable Diffusion,本节将介绍最近大火的Co…

【Matplotlib】figure方法 你真的会了吗!?

🎈个人主页:甜美的江 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:matplotlib 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…

前端工程化之:webpack2-1(常用扩展)

目录 前言 一、CleanWebpackPlugin 二、HtmlWebpackPlugin 三、CopyPlugin 四、webpack-dev-server 五 、file-loader 六、url-loader 七、路径问题 前言 由于 webpack 、 webpack-cli 、 webpack-dev-server 会存在版本不兼容问题,所以这里使用的版本如下&…

设计模式全览:编程艺术的精髓!

写在前面 请心急的读者直接看往后看「设计模式精炼」!一定不会后悔的! 在编程世界中,设计模式如同优雅的舞者,缠绕在代码的脉络中,引领着程序走向卓越。设计模式解决的是软件开发中经常出现的问题,他们如同…

解放双手!ChatGPT助力编写JAVA框架!

摘要 本文介绍了使用 ChatGPT逐步创建 一个简单的Java框架,包括构思、交流、深入优化、逐步完善和性能测试等步骤。 亲爱的Javaer们,在平时编码的过程中,你是否曾想过编写一个Java框架去为开发提效?但是要么编写框架时感觉无从下…

Tauri:相比Electron,还有很长路要走的。

一、Tauri是什么 Tauri是一个开源的框架,用于构建跨平台的桌面应用程序。它允许开发者使用Web技术(如HTML、CSS和JavaScript)来构建高性能的本地应用程序,同时提供了访问底层操作系统功能的能力。 Tauri的设计目标是提供一种简单…

web读取前端txt并解析

用途&#xff0c;解析csv、txt等作为前端变量&#xff0c;方便进行其他操作。 假设txt里为数组。 1.html内容 <div class"input-group mb-3"><!-- <span class"input-group-text">文件路径</span>--><input type&q…

CI/CD总结

bitbucket deployment: Bitbucket Cloud resources | Bitbucket Cloud | Atlassian Support Jenkins:

第97讲:MHA高可用集群模拟主库故障以及修复过程

文章目录 1.分析主库故障后哪一个从库会切换为主库2.模拟主库故障观察剩余从库的状态2.1.模拟主库故障2.3.当前主从架构 3.修复故障的主库3.1.修复主库3.2.当前主从架构3.3.恢复MHA 1.分析主库故障后哪一个从库会切换为主库 在模拟MHA高可用集群主库故障之前&#xff0c;我们先…

【JavaSE篇】——抽象类和接口

目录 &#x1f393;抽象类 &#x1f388;抽象类语法 &#x1f388;抽象类特性 &#x1f388;抽象类的作用 &#x1f393;接口 &#x1f388;语法规则 &#x1f388;接口特性 &#x1f388;接口使用(实现USB接口&#xff09; &#x1f388;实现多个接口 &#x1f388;…

力扣刷题之旅:进阶篇(一)

力扣&#xff08;LeetCode&#xff09;是一个在线编程平台&#xff0c;主要用于帮助程序员提升算法和数据结构方面的能力。以下是一些力扣上的入门题目&#xff0c;以及它们的解题代码。 --点击进入刷题地址 题目1&#xff1a;三数之和 题目描述&#xff1a; 给定一个包含n个…

代码随想录算法训练营第41天 | 343.整数拆分 + 96.不同的二叉搜索树

今日任务 343. 整数拆分 96.不同的二叉搜索树 343.整数拆分 - Medium 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给定一个正整数 n &#xff0c;将其拆分为 k 个 正整数 的和&#xff08; k > 2 &#xff09;&#xff0…

springboot+vue实现excel导出

后端 导入pom依赖 <dependency>x<groupId>cn.afterturn</groupId><artifactId>easypoi-spring-boot-starter</artifactId><version>4.2.0</version> </dependency> Entity实体类 这里以User为例&#xff0c;可按照自己实际…

vulhub中AppWeb认证绕过漏洞(CVE-2018-8715)

AppWeb是Embedthis Software LLC公司负责开发维护的一个基于GPL开源协议的嵌入式Web Server。他使用C/C来编写&#xff0c;能够运行在几乎先进所有流行的操作系统上。当然他最主要的应用场景还是为嵌入式设备提供Web Application容器。 AppWeb可以进行认证配置&#xff0c;其认…

【CSS】css如何实现字体大小小于12px?

【CSS】css如何实现字体大小小于12px? 问题解决方案transform: scale(0.5)&#xff08;常用&#xff09;SVG 矢量图设置text 问题 文字需要显示为12px&#xff0c;但是小于12px的&#xff0c;浏览器是显示不来的 解决方案 transform: scale(0.5)&#xff08;常用&#xff0…

树莓派-Ubuntu22.04

树莓派 1 安装Ubuntu系统2 ssh登录3 配置3.1 安装软件3.2 换源3.3 安装桌面3.4 开机脚本 1 安装Ubuntu系统 通过制作sdk&#xff0c;使系统在sdk中运行&#xff1a; 下载制作软件&#xff1a;https://www.raspberrypi.com/software/ 下载Ubuntu镜像&#xff1a;https://cn.ub…

【Day40】代码随想录之动态规划_343. 整数拆分_96.不同的二叉搜索树

文章目录 动态规划理论基础动规五部曲&#xff1a;出现结果不正确&#xff1a; 343. 整数拆分96.不同的二叉搜索树 动态规划理论基础 动规五部曲&#xff1a; 确定dp数组 下标及dp[i] 的含义。递推公式&#xff1a;比如斐波那契数列 dp[i] dp[i-1] dp[i-2]。初始化dp数组。…

ubuntu22.04 有一台机器说有4T硬盘,但是df的时候看不到,怎么查找

在 Ubuntu 22.04 上&#xff0c;如果你有一块硬盘在使用df命令时未显示&#xff0c;这通常意味着硬盘尚未被挂载或者根本未被分区和格式化。以下是一些步骤来帮助你识别和准备新硬盘&#xff1a; 1. 检查硬盘是否被系统识别 首先&#xff0c;使用lsblk命令来检查系统是否识别…

基于Springboot开发的JavaWeb作业查重系统[附源码]

基于Springboot开发的JavaWeb作业查重系统[附源码] &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接各种定制系统 &a…

飞机打靶子小游戏

1.飞机可以通过键盘移动&#xff0c;发射子弹. 2.显示得分. 3.靶子随机 4.打到靶子加分并换位 #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> #include<stdlib.h> #include <conio.h>//_getch()函数 #include<time.h>#define HIGH 20 #defi…