工程合同承包协议书完整版/海外seo

工程合同承包协议书完整版,海外seo,美津浓网站做一下脚型测试,做网站需要知道哪些事情<前文回顾> 点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、Tomcat…

 <前文回顾>

点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshare=blogcolumn&sharetype=blogcolumn&sharerId=12907601&sharerefer=PC&sharesource=FoyoDesigner&sharefrom=from_link

<今日更新>

一、Tomcat 的启动:从“开机”到“待机”

Tomcat[1] 的启动流程,说白了就是从“开机”到“待机”的过程。启动时,Tomcat 会加载配置、初始化组件、启动服务啥的,最后进入“待机”状态,等着处理请求。

1. 加载配置:Tomcat 的“开机自检”

Tomcat 启动时,首先会加载配置文件,比如 server.xmlweb.xml 啥的。这些配置文件决定了 Tomcat 的行为,比如端口号、上下文路径、线程池大小啥的。

XML Code

<!-- server.xml 配置端口号 -->

<Connector port="8080" protocol="HTTP/1.1"

           connectionTimeout="20000"

           redirectPort="8443" />

2. 初始化组件:Tomcat 的“组装零件”

Tomcat 加载完配置后,会初始化各种组件,比如 ConnectorEngineHostContext 啥的。这些组件是 Tomcat 的“零件”,它们各司其职,共同处理请求。

Java Code

// Connector 初始化

Connector connector = new Connector("HTTP/1.1");

connector.setPort(8080);

connector.setProtocol("HTTP/1.1");

3. 启动服务:Tomcat 的“点火启动”

Tomcat 初始化完组件后,会启动各种服务,比如 ConnectorEngine 啥的。启动服务后,Tomcat 就进入“待机”状态,等着处理请求。

Java Code

// 启动 Connector

connector.start();

二、Tomcat 的请求处理:从“接单”到“交货”

Tomcat 的请求处理流程,说白了就是从“接单”到“交货”的过程。请求到达 Tomcat 后,Tomcat 会解析请求、匹配上下文、调用 Servlet 啥的,最后生成响应,返回给客户端。

1. 解析请求:Tomcat 的“接单”

请求到达 Tomcat 后,Tomcat 会解析请求,提取请求头、请求体啥的。解析请求后,Tomcat 就知道该“干啥”了。

Java Code

// 解析请求

HttpServletRequest request = (HttpServletRequest) req;

String method = request.getMethod();

String uri = request.getRequestURI();

2. 匹配上下文:Tomcat 的“找地方”

Tomcat 解析完请求后,会根据请求的 URL,匹配对应的上下文(Context)。上下文是 Tomcat 的“工作区”,里头装着 Servlet、Filter 啥的。

Java Code

// 匹配上下文

Context context = host.findChild(contextPath);

3. 调用 Servlet:Tomcat 的“干活”

Tomcat 匹配完上下文后,会调用对应的 Servlet,处理请求。Servlet 是 Tomcat 的“工人”,它负责处理业务逻辑,生成响应。

Java Code

// 调用 Servlet

Servlet servlet = context.map(request);

servlet.service(request, response);

4. 生成响应:Tomcat 的“交货”

Servlet 处理完请求后,会生成响应,返回给客户端。Tomcat 会把响应“包装”成 HTTP 响应,发送给客户端。

Java Code

// 生成响应

HttpServletResponse response = (HttpServletResponse) res;

response.setContentType("text/html;charset=UTF-8");

response.getWriter().write("Hello, World!");

三、Tomcat 的组件:从“零件”到“机器”

Tomcat 的组件是它的“零件”,它们各司其职,共同处理请求。Tomcat 的主要组件包括 ConnectorEngineHostContext 啥的。

1. Connector:Tomcat 的“接线员”

Connector 是 Tomcat 的“接线员”,它负责接收请求、解析请求、发送响应啥的。Connector 的配置通常写在 server.xml 里。

XML Code

<!-- server.xml 配置 Connector -->

<Connector port="8080" protocol="HTTP/1.1"

           connectionTimeout="20000"

           redirectPort="8443" />

2. Engine:Tomcat 的“总控台”

Engine 是 Tomcat 的“总控台”,它负责管理 HostContext 啥的。Engine 的配置通常写在 server.xml 里。

XMl Code

<!-- server.xml 配置 Engine -->

<Engine name="Catalina" defaultHost="localhost">

    <Host name="localhost" appBase="webapps" />

</Engine>

3. Host:Tomcat 的“车间”

Host 是 Tomcat 的“车间”,它负责管理 Context 啥的。Host 的配置通常写在 server.xml 里。

XML Code

<!-- server.xml 配置 Host -->

<Host name="localhost" appBase="webapps">

    <Context path="/myapp" docBase="myapp" />

</Host>

4. Context:Tomcat 的“工作台”

Context 是 Tomcat 的“工作台”,它负责管理 ServletFilter 啥的。Context 的配置通常写在 server.xml 或者 web.xml 里。

XML COde

<!-- server.xml 配置 Context -->

<Context path="/myapp" docBase="myapp" />

四、Tomcat 的参数:从“默认值”到“调校”

Tomcat 的参数是它的“调校”,开发者能通过配置参数,调整 Tomcat 的性能、行为啥的。Tomcat 的主要参数包括端口号、线程池大小、连接超时啥的。

1. 端口号:Tomcat 的“门牌号”

端口号是 Tomcat 的“门牌号”,用户得通过端口号访问 Tomcat。Tomcat 的默认端口号是 8080,但生产环境通常得改成 80。

XML Code

<!-- server.xml 配置端口号 -->

<Connector port="80" protocol="HTTP/1.1"

           connectionTimeout="20000"

           redirectPort="8443" />

运行 HTML

2. 线程池:Tomcat 的“发动机”

线程池是 Tomcat 的“发动机”,Tomcat 用线程池处理请求。线程池的大小得根据硬件资源、请求量啥的“调校”。

XML Code

<!-- server.xml 配置线程池 -->

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"

          maxThreads="200" minSpareThreads="10" />

3. 连接超时:Tomcat 的“耐心”

连接超时是 Tomcat 的“耐心”,它决定了 Tomcat 等待客户端请求的时间。连接超时通常得根据网络状况、请求量啥的“调校”。

XML Code

<!-- server.xml 配置连接超时 -->

<Connector port="8080" protocol="HTTP/1.1"

           connectionTimeout="20000"

           redirectPort="8443" />

五、Tomcat 的历史:从“小工具”到“大机器”

Tomcat 从 1999 年诞生到现在,已经走过了 20 多个年头。虽然现在 Tomcat 已经有点“过气”了,但它的“历史”还是挺“辉煌”的。

1. Tomcat 3.x:初代“小工具”

Tomcat 3.x 在 1999 年发布,是 Tomcat 的“初代版本”。虽然功能简单,但已经能满足大部分开发需求了。

2. Tomcat 4.x:引入 Catalina

Tomcat 4.x 在 2001 年发布,引入了 Catalina,让 Tomcat 的架构更加“模块化”。Catalina 的引入,让 Tomcat 的“玩法”更加丰富。

3. Tomcat 5.x:支持 Servlet 2.4

Tomcat 5.x 在 2003 年发布,支持 Servlet 2.4,让 Tomcat 的功能更加强大。Servlet 2.4 的引入,让 Tomcat 的“玩法”更加灵活。

4. Tomcat 6.x:支持 Servlet 2.5

Tomcat 6.x 在 2006 年发布,支持 Servlet 2.5,让 Tomcat 的功能更加强大。Servlet 2.5 的引入,让 Tomcat 的“玩法”更加灵活。

5. Tomcat 7.x:支持 Servlet 3.0

Tomcat 7.x 在 2011 年发布,支持 Servlet 3.0,让 Tomcat 的功能更加强大。Servlet 3.0 的引入,让 Tomcat 的“玩法”更加灵活。

6. Tomcat 8.x:支持 Servlet 3.1

Tomcat 8.x 在 2014 年发布,支持 Servlet 3.1,让 Tomcat 的功能更加强大。Servlet 3.1 的引入,让 Tomcat 的“玩法”更加灵活。

7. Tomcat 9.x:支持 Servlet 4.0

Tomcat 9.x 在 2018 年发布,支持 Servlet 4.0,让 Tomcat 的功能更加强大。Servlet 4.0 的引入,让 Tomcat 的“玩法”更加灵活。


专有名词解释:

  1. Tomcat:Apache Tomcat,一个开源的 JavaWeb 服务器,用于运行 Servlet 和 JSP。
  2. Connector:Tomcat 的组件,负责接收请求、解析请求、发送响应等。
  3. Engine:Tomcat 的组件,负责管理 Host、Context 等。
  4. Host:Tomcat 的组件,负责管理 Context 等。
  5. Context:Tomcat 的组件,负责管理 Servlet、Filter 等。
  6. Servlet:Java 编写的服务器端程序,用于处理客户端请求并生成动态 Web 内容。

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

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

相关文章

计网面试准备

正确理解网络数据传输过程 同一路由器的不同接口属于不同局域网&#xff0c;广播只能在同一个局域网

【技术白皮书】内功心法 | 第二部分 | Telnet远程登录的工作原理

远程登录的工作原理 背景介绍远程登录远程登录的服务模式远程登录服务的实现基础远程登录服务的运行模式Telnet服务为什么不被操作系统管理 Telnet协议的原理网络虚终端&#xff08;NVT&#xff09;结束标示NVT的原理NVT屏蔽差异 背景介绍 绝大多数计算机都是运行多用户操作系…

游戏引擎学习第150天

回顾与当天计划 我们在这里完全不使用任何库&#xff0c;所以我们完全是引擎和库免疫的, 正如大家所知道的&#xff0c;我们正在编写自己的资源处理系统&#xff0c;准确来说&#xff0c;是一个资源加载系统。过去一周我们已经完成了很多工作&#xff0c;现在只剩下最后几步&a…

Flutter中stream学习

Flutter中stream学习 概述Stream的基础概念stream的常用方法Stream.fromFuture(Future<T> future)Stream.fromFutures(Iterable<Future<T>> futures)Stream.fromIterable(Iterable<T> elements)Stream.periodic(Duration period, [T computation(int c…

基于javaweb的SSM房屋租赁管理系统设计和实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

物联网商业模式

物联网商业模式是一种战略规划&#xff0c;它融合了物联网技术来创造价值并获取收入。它与传统商业模式的不同之处在于&#xff0c;它利用互联设备来改善运营、提升客户体验以及优化服务项目。在当今由科技驱动的世界中&#xff0c;这种商业模式通过利用实时数据来提供创新服务…

从0开始的操作系统手搓教程45——实现exec

目录 建立抽象 实现加载 实现sys_execv &#xff01;&#xff01;&#xff01;提示&#xff1a;因为实现问题没有测试。所以更像是笔记&#xff01; exec 函数的作用是用新的可执行文件替换当前进程的程序体。具体来说&#xff0c;exec 会将当前正在运行的用户进程的进程体&…

【python爬虫】酷狗音乐爬取练习

注意&#xff1a;本次爬取的音乐仅有1分钟试听&#xff0c;仅作学习爬虫的原理&#xff0c;完整音乐需要自行下载客户端。 一、 初步分析 登陆酷狗音乐后随机选取一首歌&#xff0c;在请求里发现一段mp3文件&#xff0c;复制网址&#xff0c;确实是我们需要的url。 复制音频的…

Linux开发工具----vim

目录 Linux编辑器-vim使用 1. vim的基本概念 正常/普通/命令模式(Normal mode) 插入模式(Insert mode) 底行模式(last line mode) 2. vim的基本操作 3. vim正常模式命令集 4. vim底行模式命令集 5. vim操作总结 (本篇文章相当于vim常用命令字典) Linux编辑器-vim使用 我们先来看…

基于云函数的自习室预约微信小程序+LW示例参考

全阶段全种类学习资源&#xff0c;内涵少儿、小学、初中、高中、大学、专升本、考研、四六级、建造师、法考、网赚技巧、毕业设计等&#xff0c;持续更新~ 文章目录 [TOC](文章目录) 1.项目介绍2.项目部署3.项目部分截图4.获取方式 1.项目介绍 技术栈工具&#xff1a;云数据库…

卷积神经网络与计算机视觉:从数学基础到实战应用

卷积神经网络与计算机视觉&#xff1a;从数学基础到实战应用 摘要 本文深入解析卷积神经网络&#xff08;CNN&#xff09;的核心原理及其在计算机视觉中的应用。首先介绍卷积与互相关的数学定义及在神经网络中的实际应用差异&#xff0c;接着从系统设计视角分析卷积的线性代数…

从Manus到OpenManus:多智能体协作框架如何重构AI生产力?

文章目录 Manus&#xff1a;封闭生态下的通用AI智能体OpenManus&#xff1a;开源社区的闪速复刻挑战与未来&#xff1a;框架落地的现实边界当前局限性未来演进方向 OpenManus使用指南1. 环境配置2. 参数配置3. 替换搜索引擎4. 运行效果 协作框架开启AI生产力革命 Manus&#xf…

js 使用 Web Workers 来实现一个精确的倒计时,即使ios手机锁屏或页面进入后台,倒计时也不会暂停。

## 效果如上 <!-- 将 main.js 和 worker.js 放在同一个目录下&#xff0c;然后在 HTML 文件中引入 main.js --><!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content&q…

Docker Compose国内镜像一键部署dify

克隆代码 git clone https://github.com/langgenius/dify.git进入docker目录 cd docker修改.env部分 # 将环境模版文件变量重命名 cp .env.example .env # 修改 .env,修改nginx的host和端口,避免端口冲突 NGINX_SERVER_NAME192.168.1.223 NGINX_PORT1880 NGINX_SSL_PORT1443…

NO.29十六届蓝桥杯备战|string九道练习|reverse|翻转|回文(C++)

P5015 [NOIP 2018 普及组] 标题统计 - 洛谷 #include <bits/stdc.h> using namespace std;int main() {ios::sync_with_stdio(false);cin.tie(nullptr);string s;getline(cin, s);int sz s.size();int cnt 0;for (int i 0; i < sz; i){if (isspace(s[i]))continue…

嵌入式音视频通话SDK组件EasyRTC:全平台设备兼容,智能硬件里的WebRTC调用实践

在万物互联时代&#xff0c;智能硬件设备对实时音视频通信的需求呈现爆发式增长。传统基于PC或移动端的WebRTC方案难以满足嵌入式设备在资源占用、低延迟传输和硬件适配等方面的特殊需求。本文将深入探讨如何通过EasyRTC嵌入式音视频通信SDK在嵌入式设备中实现高效的WebRTC视频…

Aim Robotics电动胶枪:机器人涂胶点胶的高效解决方案

在自动化和智能制造领域&#xff0c;机器人技术的应用越来越广泛&#xff0c;而涂胶和点胶作为生产过程中的重要环节&#xff0c;也逐渐实现了自动化和智能化。Aim Robotics作为一家专注于机器人技术的公司&#xff0c;其推出的电动胶枪为这一领域带来了高效、灵活且易于操作的…

c语言笔记 数组进阶题目的理解

题目&#xff1a;声明一个二维 int 型数组 a&#xff0c;再声明另一个一维数组指针数组 b&#xff0c;使该数组 b 的每一个指针分别指向二维数组 a 中的每一个元素(即每一个一维数组)&#xff0c;然后利用数组 b 计算数组 a 的和。 图解&#xff1a;画图帮助理解 我们要清楚什…

Photo Works在线图片编辑器:一键修复老照片,轻松焕新记忆

★【概况介绍】 今天突然收到我的朋友电脑出故障了,截图给我,我一看就知道这个是缺少必要的组件引起的故障。结合这个问题,我来谈谈自己的解决思路和方法,希望能够帮助到大家。帮助大家是我最开心的事情。以前只是帮朋友解决问题,没有记录下来,刚刚接触到这个平台,刚好可…

FANformer:融合傅里叶分析网络的大语言模型基础架构

近期大语言模型(LLM)的基准测试结果引发了对现有架构扩展性的思考。尽管OpenAI推出的GPT-4.5被定位为其最强大的聊天模型&#xff0c;但在多项关键基准测试上的表现却不及某些规模较小的模型。DeepSeek-V3在AIME 2024评测中达到了39.2%的Pass1准确率&#xff0c;在SWE-bench Ve…