当前位置: 首页 > news >正文

tomcat构建源码环境

一. IDEA运行Tomcat8源码

参考网址:https://blog.csdn.net/yekong1225/article/details/81000446

​ Tomcat作为J2EE的开源实现,其代码具有很高的参考价值,我们可以从中汲取很多的知识。作为Java后端程序员,相信有很多人很想了解Tomcat的运行原理。Tomcat的构建是基于Ant和Eclipse的,然而现在很多人都喜欢IDEA+Maven的项目构建方式,本文描述了在Win7的环境下,使用IDEA导入Tomcat 8.0.53源码,并运行tomcat源码。

1、准备工作

  • Tomcat源码下载地址:http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.53/src/apache-tomcat-8.0.53-src.zip
  • IDEA工具:https://www.jetbrains.com/idea/download
  • MAVEN:http://maven.apache.org/download.cgi
  • JDK:自然不用多提了,但是要按照所选源码要求的版本,这里用的是JDK8

安装和下载这些软件包就可以开始搭建调试环境了。

2、项目结构

img

  • 将下载下来的apache-tomcat-8.0.53-src.zip解压,然后在解压后的apache-tomcat-8.0.53-src目录中新建catalina-home目录和pom.xml文件
  • apache-tomcat-8.0.53-src目录中的conf和webapps文件夹复制到catalina-home目录中

pom文件内容如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.apache.tomcat</groupId><artifactId>Tomcat8.0</artifactId><name>Tomcat8.0</name><version>8.0</version><build><finalName>Tomcat8.0</finalName><sourceDirectory>java</sourceDirectory><testSourceDirectory>test</testSourceDirectory><resources><resource><directory>java</directory></resource></resources><testResources><testResource><directory>test</directory></testResource></testResources><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>2.3</version><configuration><encoding>UTF-8</encoding><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><dependency><groupId>org.easymock</groupId><artifactId>easymock</artifactId><version>3.4</version></dependency><dependency><groupId>ant</groupId><artifactId>ant</artifactId><version>1.7.0</version></dependency><dependency><groupId>wsdl4j</groupId><artifactId>wsdl4j</artifactId><version>1.6.2</version></dependency><dependency><groupId>javax.xml</groupId><artifactId>jaxrpc</artifactId><version>1.1</version></dependency><dependency><groupId>org.eclipse.jdt.core.compiler</groupId><artifactId>ecj</artifactId><version>4.5.1</version></dependency></dependencies>
</project>

catalina-home目录结构如下

在这里插入图片描述

lib文件夹是空的

至此基本的准备工作已经完成了

3、构建项目

  1. 将apache-tomcat-8.0.53-src项目导入进IDEA中

    image-20200910130617170

  2. 配置启动参数

img

Main class设置为org.apache.catalina.startup.Bootstrap

添加VM options

-Dcatalina.home=catalina-home -Dcatalina.base=catalina-home -Djava.endorsed.dirs=catalina-home/endorsed -Djava.io.tmpdir=catalina-home/temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=catalina-home/conf/logging.properties

说明:如果编译build的时候出现Test测试代码报错,注释该代码即可。本文中的Tomcat源码util.TestCookieFilter类会报错,将其注释即可。

4、启动项目

上面第三步已经构建了项目的运行环境,点击运行或者调试按钮后,正常运行。

img

项目启动完毕我们可以测试了,在浏览器访问http://localhost:8080/ 发现打不开我们看到的经典欢迎页面了,页面报了一个错

img

原因是我们直接启动org.apache.catalina.startup.Bootstrap的时候没有加载org.apache.jasper.servlet.JasperInitializer,从而无法编译JSP。解决办法是在tomcat的源码org.apache.catalina.startup.ContextConfig中手动将JSP解析器初始化:

context.addServletContainerInitializer(new JasperInitializer(), null);

img

修改完后,项目再启动,我们再在浏览器访问http://localhost:8080/ ,就可以看到我们所熟悉的经典欢迎页面了

img

二. 启动乱码问题解决

参考网址:https://www.jianshu.com/p/24483c3fc58c

日志级别中文提示正常 后面乱码 如图
img

img

解决方案:

1、可以采用英文输出 只需要配置启动参数即可

2、确认项目编码都设置为UTF-8后,在StringManager.java:134行后,增加一行代码:

​ str = new String(str.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8);

img

修改后日志信息输出正常 但是前段调用后中文也可能是乱码

img

解决方案 此时还要改一个文件,否则页面报错信息为乱码;

Localizer类的getMessage(String errCode)方法也得加:

img

img

end

三.导入web项目到tomcat源码

相比较上而言,只需要修改下面的

image-20200911013600034

image-20200911014339782

image-20200911014511772

相关文章:

tomcat构建源码环境

一. IDEA运行Tomcat8源码 参考网址&#xff1a;https://blog.csdn.net/yekong1225/article/details/81000446 ​ Tomcat作为J2EE的开源实现&#xff0c;其代码具有很高的参考价值&#xff0c;我们可以从中汲取很多的知识。作为Java后端程序员&#xff0c;相信有很多人很想了解…...

你用的是Bing吗?!

&#x1f525;【深度解析】微软Bing革命性升级&#xff01;Copilot Search上线&#xff1a;从此搜索≠找链接&#xff0c;而是直接生成答案&#xff01; &#x1f4a1; 你是否厌倦了这样的搜索体验&#xff1f; 搜索「Python处理JSON」&#xff0c;在10个网页间反复跳转想对比…...

拍摄的婚庆视频有些DAT的视频文件打不开怎么办

3-12 现在的婚庆公司大多提供结婚的拍摄服务&#xff0c;或者有一些第三方公司做这方面业务&#xff0c;对于视频拍摄来说&#xff0c;有时候会遇到这样一种问题&#xff0c;就是拍摄下来的视频文件&#xff0c;然后会有一两个视频文件是损坏的&#xff0c;播放不了&#xff0…...

Oracle Cloud (OCI) 服务器最新控制台启用 IPv6 超详细图文指南(2025最新实践)

本文为原作者发布到第三方平台,更多内容参考: 🚀 Oracle Cloud (OCI) 服务器最新控制台启用 IPv6 超详细图文指南(2025最新实践) 随着 IPv6 的普及,IPv6的优秀特性能为你的 OCI 云服务器提升网络性能和路由效率,并提升兼容性。本指南将引导你在 Oracle Cloud Infrast…...

YOLO环境搭建,win11+wsl2+ubuntu24+cuda12.6+idea

提示&#xff1a;环境搭建 文章目录 前言一、 win11 gpu 驱动更新1.1 下载驱动3. 验证&#xff0c; 二、配置子系统 ubuntu2.1 安装 cuda 三、配置 anaconda四、idea 配置使用 wsl ubuntu conda 环境 前言 提示&#xff1a;版本 win11 wsl2 ubuntu24 idea 2024 子系统跳过&…...

类 和 对象 的介绍

对象的本质是一种新的数据类型。类是一个模型&#xff0c;对象是类的一个具体化实例。为类创建实例也就是创建对象。 一、类&#xff08;class&#xff09; 类决定一个对象将是什么样的&#xff08;有什么属性、功能&#xff09;。类和变量一样&#xff0c;有名字。 1.创建类 …...

机器学习(1)—线性回归

文章目录 1. 算法定义2. 模型形式2.1. 简单线性回归&#xff08;单变量&#xff09;&#xff1a;2.2. 多元线性回归&#xff08;多变量&#xff09;&#xff1a; 3. 基本原理3.1. 误差函数&#xff1a;3.2. 求解回归系数 4. 假设条件5. 模型评估6. 优缺点7. 扩展方法8. 应用场景…...

macOS下SourceInsight的替代品

macOS 推荐的几款开源、轻量级、且功能类似于 SourceInsight 的源码阅读工具&#xff08;排除 VS Code&#xff09;&#xff1a; 1. Zeal&#xff08;离线文档 简单代码导航&#xff09; 官网/GitHub: https://zealdocs.org/特点&#xff1a; 轻量级离线文档浏览器&#xff0…...

form实现pdf文件转换成jpg文件

说明&#xff1a; 我希望将pdf文件转换成jpg文件 请去下载并安装 Ghostscript&#xff0c;gs10050w64.exe 配置环境变量&#xff1a;D:\Program Files\gs\gs10.05.0\bin 本地pdf路径&#xff1a;C:\Users\wangrusheng\Documents\name.pdf 输出文件目录&#xff1a;C:\Users\wan…...

聊天室项目之http知识

一.http的核心组成部分&#xff08;都分成请求的和响应的&#xff09; 1.起始行&#xff1a;请求------------------------ 方法&#xff08;Method&#xff09;&#xff1a;GET、POST、PUT、DELETE 等。 请求目标&#xff08;Request Target&#xff09;&#xff1a;URL 路径…...

kubeadm部署 Kubernetes(k8s) 高可用集群 V1.28.2

1. 安装要求 在开始之前&#xff0c;部署Kubernetes集群机器需要满足以下几个条件&#xff1a; 10台机器&#xff0c;操作系统Openeuler22.03 LTS SP4硬件配置&#xff1a;2GB或更多RAM&#xff0c;2个CPU或更多CPU&#xff0c;硬盘30GB或更多&#xff0c;docker 数据卷单独挂…...

BUUCTF-web刷题篇(12)

21.easy_tornado Tornado大致可以分为四个主要组成部分&#xff1a; 一个web框架&#xff08;包括RequestHandler创建Web应用程序的子类&#xff0c;以及各种支持类&#xff09;。 HTTPServerHTTP&#xff08;和AsyncHTTPClient&#xff09;的客户端和服务器端实现。 一个异…...

基于 Netty 框架的 Java TCP 服务器端实现,用于启动一个 TCP 服务器来处理客户端的连接和数据传输

代码&#xff1a; package com.example.tpson_tcp;import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; import io.netty.channel.ChannelOption; import io.netty.channel.EventLoopGroup; imp…...

【Kafka基础】Kafka配置文件关键参数解析与单机生产环境配置指南

1 Kafka配置文件概述 Apache Kafka的配置文件是控制其行为的关键所在&#xff0c;合理的配置能够显著提升性能、可靠性和可维护性。Kafka主要涉及两个核心配置文件&#xff1a; server.properties&#xff1a;Broker主配置文件zookeeper.properties&#xff1a;ZooKeeper配置文…...

Kafka 漏消费和重复消费问题

Kafka 虽然是一个高可靠、高吞吐的消息系统&#xff0c;但如果使用不当&#xff0c;**“漏消费”和“重复消费”**问题是非常容易发生的&#xff0c;尤其在业务系统中会造成数据丢失、重复写库等严重问题。 &#x1f3af; 一句话理解&#xff1a; Kafka 本身提供 “至多一次”…...

Mysql慢查询设置 和 建立索引

1 .mysql慢查询的设置 slow_query_log ON //或 slow_query_log_file /usr/local/mysql/data/slow.log long_query_time 2 修改后重启动mysql 1.1 查看设置后的参数 mysql> show variables like slow_query%; --------------------------------------------------…...

Windows程序中计时器WM_TIMER消息的使用

本文章是对《Windows程序设计》这本书第八章计时器的总结&#xff0c;如果有时间&#xff0c;可以去看书里的讲解&#xff0c;如果时间不充裕&#xff0c;想马上知道计时器该如何使用&#xff0c;欢迎阅读本文&#xff0c;本文已经将计时器的干货整理完毕&#xff01; 什么是计…...

关于apple ios苹果mdm监管锁的漏洞与修复

前言 本人从2020年开始接触苹果mdm管理系统的开发 起初只是接触如何利用mdm进行app分发 23年开始开发mdm监管锁业务 随着手机租赁的市场兴起 mdm监管锁系统随即而生 注意 本人只是分享工作过程中遇到的一些问题 不接受苹果手机屏蔽以及解锁的业务 此文章仅做分享使用 MDM监…...

使用Geotools中的原始方法来操作PostGIS空间数据库

目录 前言 一、原生PostGIS连接介绍 1、连接参数说明 2、创建DataStore 二、工程实战 1、Maven Pom.xml定义 2、空间数据库表 3、读取空间表的数据 三、总结 前言 在当今数字化与信息化飞速发展的时代&#xff0c;空间数据的处理与分析已成为众多领域不可或缺的一环。从…...

C-S模式之实现一对一聊天

天天开心&#xff01;&#xff01;&#xff01; 文章目录 一、如何实现一对一聊天&#xff1f;1. 服务器设计2. 客户端设计3. 服务端代码实现4. 客户端代码实现5. 实现说明6.实验结果 二、改进常见的服务器高并发方案1. 多线程/多进程模型2. I/O多路复用3. 异步I/O&#xff08;…...

Kafka Consumer Group

Kafka 消费者组&#xff08;Consumer Group&#xff09; 是 Kafka 的核心机制之一&#xff01;理解它对你掌握 Kafka 的高可用、高吞吐、负载均衡等能力非常关键。下面我来给你完整讲一讲&#x1f447; &#x1f9e0; 什么是 Kafka 消费者组&#xff08;Consumer Group&#x…...

LangChain vs LlamaIndex:大模型应用开发框架深度对比与实战指南

一、引言:大模型时代的应用开发挑战 随着ChatGPT、LLaMA等大语言模型的爆发式发展,如何高效构建「大模型+垂直领域」的智能应用成为新课题。传统开发模式面临三大痛点: 数据交互复杂:大模型与本地数据的融合缺乏标准化接口功能扩展困难:链式调用、工具集成需要重复造轮子…...

第二章:访问远程服务_《凤凰架构:构建可靠的大型分布式系统》

第二章 访问远程服务 2.1 远程服务调用&#xff08;RPC&#xff09; 2.1.1 进程间通信机制 核心方式&#xff1a; 管道&#xff08;Pipe&#xff09;&#xff1a;单向通信&#xff0c;用于父子进程信号&#xff08;Signal&#xff09;&#xff1a;异步事件通知&#xff0c;不…...

一键自动备份:数据安全的双重保障

随着数字化时代的到来&#xff0c;数据已成为企业和个人不可或缺的核心资产。在享受数据带来的便捷与高效的同时&#xff0c;数据丢失的风险也随之增加。因此&#xff0c;备份文件的重要性不言而喻。本文将深入探讨备份文件的重要性&#xff0c;并介绍两种实用的自动备份方法&a…...

C++11之std::is_convertible

目录 1.简介 2.实现原理 3.使用场景 4.总结 1.简介 std::is_convertible 是 C 标准库 <type_traits> 头文件中的一个类型特性&#xff08;type trait&#xff09;&#xff0c;它用于在编译时检查一个类型是否可以隐式转换为另一个类型。下面的原型&#xff1a; temp…...

从零开始:在Qt中使用OpenGL绘制指南

从零开始&#xff1a;在Qt中使用OpenGL绘制指南 本文只介绍基本的 QOpenGLWidget 和 QOpenGLFunctions 的使用&#xff0c;想要学习 OpenGL 的朋友&#xff0c;建议访问经典 OpenGL 学习网站&#xff1a;LearnOpenGL CN 本篇文章&#xff0c;我们将以绘制一个经典的三角形为例&…...

我的购物车设计思考:从个人项目到生产实战思考的蜕变

一、代码初体验&#xff1a;我踩过的那些坑 还记得大二做课程设计时&#xff0c;我写的购物车直接用ArrayList存商品&#xff0c;结果改数量时遍历半天找商品。现在看你这个HashMap实现&#xff0c;确实清爽很多&#xff0c;但有几点让我想起当年惨痛经历&#xff1a; 1. 线程…...

【算法实践】算法面试常见问题——数组的波浪排序

问题描述 给定一个无序整数数组&#xff0c;将其排列成波浪形数组。若数组 arr[0..n-1] 满足以下条件&#xff0c;则称为波浪形&#xff1a; arr[0] > arr[1] < arr[2] > arr[3] < arr[4] > ... 或 arr[0] < arr[1] > arr[2] < arr[3] > arr[4] &l…...

【大模型深度学习】如何估算大模型需要的显存

一、模型参数量 参数量的单位 参数量指的是模型中所有权重和偏置的数量总和。在大模型中&#xff0c;参数量的单位通常以“百万”&#xff08;M&#xff09;或“亿”&#xff08;B&#xff0c;也常说十亿&#xff09;来表示。 百万&#xff08;M&#xff09;&#xff1a;表示…...

[论文阅读]PMC-LLaMA: Towards Building Open-source Language Models for Medicine

PMC-LLaMA&#xff1a;构建医学开源语言模型 摘要 最近&#xff0c;大语言模型在自然语言理解方面展现了非凡的能力。尽管在日常交流和问答场景下表现很好&#xff0c;但是由于缺乏特定领域的知识&#xff0c;这些模型在需要精确度的领域经常表现不佳&#xff0c;例如医学应用…...

`use_tempaddr` 和 `temp_valid_lft ` 和 `temp_prefered_lft ` 笔记250405

use_tempaddr 和 temp_valid_lft 和 temp_prefered_lft 笔记250405 以下是 Linux 系统中与 IPv6 临时隐私地址相关的三个关键参数 use_tempaddr、temp_valid_lft 和 temp_prefered_lft 的详细说明及协作关系&#xff1a; &#x1f4dc; 参数定义与功能 参数作用默认值依赖关…...

如何设置 JVM 内存参数(-Xms、-Xmx、-Xss 等)?

JVM 内存参数用于控制 Java 虚拟机使用的内存大小和行为。以下是一些常用的 JVM 内存参数及其设置方法&#xff1a; 1. 堆内存 (Heap Memory): -Xms<size>: 设置 JVM 初始堆大小 (initial heap size)。 例如&#xff1a;-Xms2g (初始堆大小为 2GB)默认值&#xff1a;物…...

【MATLAB TCP/IP客户端与NetAssist上位机双向通信实战指南】

MATLAB TCP/IP客户端与NetAssist上位机双向通信实战指南 一、前言 在工业控制和数据采集领域&#xff0c;TCP/IP通信是最常用的网络通信协议之一。MATLAB作为强大的科学计算软件&#xff0c;与各种上位机软件(如NetAssist)进行通信可以实现数据采集、设备控制和实时监控等功能…...

联合、枚举、类型别名

数据类型&#xff1a; 已学--整数、实数、字符、字符串、数组、指针、结构待学--向量&#xff08;vector&#xff09;类型&#xff1a;优于数组非主流的类型--联合&#xff08;union&#xff09;、枚举&#xff08;enum&#xff09; 一、联合 联合类似于结构&#xff0c;可以容…...

Array 和 ArrayList 有何区别?什么时候更适合用 Array?

面试官提问&#xff1a; 你能简要说明 Array 和 ArrayList 之间的主要区别吗&#xff1f;在什么场景下更适合使用 Array&#xff1f; 标准回答&#xff1a; 在 Java 中&#xff0c;Array&#xff08;数组&#xff09;和 ArrayList&#xff08;动态数组&#xff09;都可以用于存…...

对状态模式的理解

对状态模式的理解 一、场景二、不采用状态模式1、代码2、缺点 三、采用状态模式1、代码1.1 状态类1.2 上下文&#xff08;这里指&#xff1a;媒体播放器&#xff09;1.3 客户端 2、优点 一、场景 同一个东西&#xff08;例如&#xff1a;媒体播放器&#xff09;&#xff0c;有一…...

【学Rust写CAD】31 muldiv255函数(muldiv255.rs)

源码 // Calculates floor(a*b/255 0.5) #[inline] pub fn muldiv255(a: u32, b: u32) -> u32 {// The deriviation for this formula can be// found in "Three Wrongs Make a Right" by Jim Blinn.let tmp a * b 128;(tmp (tmp >> 8)) >> 8 }代…...

使用VSCode编写C#程序

目录 一、环境搭建&#xff1a;构建高效开发基础1. 安装VSCode2. 配置.NET SDK3. 安装核心扩展 二、项目开发全流程1. 创建项目2. 代码编辑技巧3. 调试配置4. 高级调试技巧5. 编译与运行 三、常见问题解决指南1. 项目加载失败2. IntelliSense失效3. 代码格式化4. 典型编译错误&…...

chromadb

chromadb是一个轻量化的向量数据库&#xff0c;可以和llama-index等RAG框架使用。底层基于sqllite。 Getting Started - Chroma Docs 1、安装 $pip install chromadb pip install chromadb-client --在CS模式下&#xff0c;如果机器A上只需要安装客户端 2、可以使用客户端…...

第十章: 可观测性_《凤凰架构:构建可靠的大型分布式系统》

第十章: 可观测性 可观测性是现代分布式系统监控和故障排查的核心能力。本章从事件日志、链路追踪、聚合度量三个维度构建完整的可观测性体系&#xff0c;以下是各部分的重点解析与实践要点&#xff1a; 一、事件日志&#xff08;Event Logging&#xff09; 1. 核心目标 全链…...

vscode和cursor对ubuntu22.04的remote ssh和X-Windows的无密码登录

这里写自定义目录标题 写在前面需求的描述问题的引出 昨天已使能自动登录上午我的改变UBUNTU 22.04关闭密码规则一&#xff1a;修改 /etc/pam.d/common-password 文件二&#xff1a;修改 /etc/security/pwquality.conf 文件方法三&#xff1a;禁用 pam_pwquality.so 模块 vscod…...

Mlivus Cloud SDK v2的革新:性能优化与实战解析

作为大禹智库的向量数据库高级研究员王帅旭,我在过去30多年的AI应用实战中见证了向量数据库技术的演进历程。今天,我将从专业角度深入剖析Mlivus Cloud SDK v2的架构革新,特别是针对性能瓶颈问题的突破性解决方案。本文不仅会详细解析技术原理,还将提供可操作的优化建议,帮…...

stl_list的模拟实现

文章目录 stl_list的模拟实现迭代器的介绍以及分类stl_list的基本接口介绍stl_list的模拟实现结点类迭代器类基本迭代器操作 链表类链表基本操作 结语 我们今天又见面啦&#xff0c;给生活加点impetus&#xff01;&#xff01;开启今天的编程之路 作者&#xff1a;٩( ‘ω’ …...

【蓝桥杯】十五届省赛B组c++

目录 前言 握手问题 分析 排列组合写法 枚举 小球反弹 分析 代码 好数 分析 代码 R 格式 分析 代码 宝石组合 分析 代码 数字接龙 分析 代码 拔河 分析 代码 总结 前言 主播这两天做了一套蓝桥杯的省赛题目&#xff08;切实感受到了自己有多菜&#x…...

变分自编码器(VAE)概念解析与用法实例:根据原图像生成新图像

目录 1. 前言 2. VAE原理 2.1 什么是VAE&#xff1f; 2.2 编码器&#xff08;Encoder&#xff09; 2.3 重参数化技巧&#xff08;Reparameterization Trick&#xff09; 2.4 解码器&#xff08;Decoder&#xff09; 2.5 损失函数 3. Pytorch实现&#xff1a;根据原图像…...

AI随身翻译设备:从翻译工具到智能生活伴侣

文章目录 AI随身翻译设备的核心功能1. 实时翻译2. 翻译策略3. 翻译流程4. 输出格式 二、AI随身翻译设备的扩展功能1. 语言学习助手2. 旅行助手3. 商务助手4. 教育助手5. 健康助手6. 社交助手7. 技术助手8. 生活助手9. 娱乐助手10. 应急助手 三、总结四、未来发展趋势&#xff0…...

基于大模型的重症肌无力的全周期手术管理技术方案

目录 技术方案文档1. 数据预处理模块2. 多任务预测模型架构3. 动态风险预测引擎4. 手术方案优化系统5. 技术验证模块6. 系统集成架构7. 核心算法清单8. 关键流程图详述实施路线图技术方案文档 1. 数据预处理模块 流程图 [输入原始数据] → [联邦学习节点数据对齐] → [多模态特…...

Linux常用命令详解:从基础到进阶

目录 一、引言 二、文件处理相关命令 &#xff08;一&#xff09;grep指令 &#xff08;二&#xff09;zip/unzip指令 ​编辑 &#xff08;三&#xff09;tar指令 &#xff08;四&#xff09;find指令 三、系统管理相关命令 &#xff08;一&#xff09;shutdown指…...

【全球首发】DeepSeek谷歌版1.1.5 - 免费GPT-4级别AI工具

【全球首发】DeepSeek谷歌版1.1.5 - 免费GPT-4级别AI工具 资源简介 DeepSeek谷歌版1.1.5是目前全球领先的免费AI助手&#xff0c;性能超越国内主流AI产品&#xff0c;提供类似GPT-4的智能体验。 版本信息 最新版本&#xff1a;1.1.5&#xff08;2024最新版&#xff09;应用…...

JWT认证服务

JSON Web Token&#xff08;JWT&#xff09;是一种用于在网络应用间安全地传递信息的紧凑、自包含的方式。以下是关于 JWT 认证服务器更详细的介绍&#xff0c;包括其意义、作用、工作原理、组成部分、时效性相关内容、搭建条件以及代码案例。 JWT 的意义与作用 意义&#xf…...