Web服务器-Tomcat详细原理与实现

这篇具有很好参考价值的文章主要介绍了Web服务器-Tomcat详细原理与实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 Tomcat 安装与使用

:MAC 安装配置使用Tomcat - 掘金

安装后本计算机就相当于一台服务器了!!!

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

方式一:使用本地安装的Tomcat

1、将项目文件移动到Tomcat的webapps目录下。

2、启动Tomcat

3、在浏览器输入想要加载的项目资源URL即可

方式二:使用IDEA中集成的Tomcat

在IDEA内配置Tomcat直接搜

写好业务类,在web.xml文件中配置servlet和映射

    <servlet>
        <servlet-name>bbsServlet</servlet-name>
        <servlet-class>com.itheima.servlet01.BbsServlet</servlet-class>
    </servlet>

<!--    映射-->
<!--    首先是由URL请求得到servletname接着找到servlet-class 就找到了后端业务类-->
    <servlet-mapping>
        <servlet-name>bbsServlet</servlet-name>
        <url-pattern>/bbs/findAll</url-pattern>
    </servlet-mapping>

一、Tomcat基础

Tomcat 是一个免费开源轻量级的 Web 应用服务器。适合在并发量不是很高的中小企业项目中使用。

服务器:安装了服务器软件的计算机。

1、文件目录结构

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

2、功能组件结构

Tomcat 俩封装的核心功能:连接器 Connector、容器 Container。连接器和容器构成了基本的 web 服务 Service。每个 Tomcat 服务器可以管理多个 Service。

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

3、功能组件关系

一个container可对应多个connector。但是仅仅当一个container和一个connector组合在一起才可以处理一个service。

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

4、Coyote与Catalina

Coyote负责具体的协议的解析;Catalina负责实现最终的请求逻辑。

二、Tomcat架构

 一、连接器Connector

0、 Tomcat 连接器框架Coyote

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维 Tomcat支持的IO模型:

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维 Tomcat支持的协议:

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

 协议分层:

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

1、连接器核心功能

一、监听网络端口,接收和响应网络请求。

二、网络字节流处理。将收到的网络字节流转换成 Tomcat Request 再转成标准的 ServletRequest 给容器,同时将容器传来的 ServletResponse 转成 Tomcat Response 再转成网络字节流。

2、连接器模块设计

为满足连接器的两核心功能,需要一个通讯端点来监听端口;需要一个处理器来处理网络字节流;最后还需要一个适配器将处理后的结果转成容器需要的结构。

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

3、连接器结构图

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

 容器支持servletRequest和servletResponse对象,Processor支持Request和Response,中间依靠Adapter进行转化。

二、容器Container

Tomcat 容器框架——Catalina

0、Catalina核心地位

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

 Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

1、Catalina架构

四个容器Engine、Host、Context 和 Wrapper之间属于父子关系。

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

 2、Container架构

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

3、源码分析

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

三、Tomcat启动流程

0、基本流程

初始化:父组件调用init方法初始化自身,并初始化子组件

启动:父组件调用start方法启动自身,并启动子组件

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

 Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

 四核心任务:

加载Tomcat的配置文件,初始化容器组件,监听对应的端口号,准备接受客户端请求。

1、Lifecycle

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

 在上述启动中 Server、service、Container、executor、connector都调用了生命周期中的init start方法。

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

四、请求处理流程

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

逐字段解析URL首先根据域名确定虚拟主机Host,接着根据context应用程序确定,最后根据字段wrapper确定最终的执行方法。

Web应用配置

1、ServletContext初始化参数

ServletContext官方叫servlet上下文。服务器会为每一个工程创建一个对象,这个对象就是ServletContext对象。这个对象全局唯一,而且工程内部的所有servlet都共享这个对象。所以叫全局应用程序共享对象。

Web服务器-Tomcat详细原理与实现,JavaWeb,# Tomcat,服务器,运维

 使用<context-parm>添加ServletContext初始化参数(键值对)

<context-param>
        <param-name>project01_parm</param-name>
        <param-value>itcast</param-value>
</context-param>

使用getServletContext().getInitParameter()获取初始化参数(传参为param-name)

String value = request.getServletContext().getInitParameter("project01_param");

2、文章来源地址https://www.toymoban.com/news/detail-691252.html

到了这里,关于Web服务器-Tomcat详细原理与实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JavaWeb ( 三 ) Web Server 服务器

    Web Server 服务器是一种安装在服务器主机上的应用程序, 用于处理客户端(Web浏览器)的请求,并返回响应内容。服务器使用HTTP(超文本传输协议)与客户机浏览器进行信息交流。 简单说就是将http协议的信息翻译成对应开发语言可以处理的对象信息。 例如 : Tomcat将http协议所传递的

    2024年02月02日
    浏览(42)
  • web服务器(Tomcat)

    目录 一、web服务器 1. 常见web服务器 2. web服务器简介 二、 Apache Tomcat服务器 1. Tomcat服务器简介 2. Tomcat服务器基本使用 3. 启动tomcat常见问题 (1)启动tomcat控制台乱码 (2)启动tomcat闪退问题 (3)启动报错 4.  如何关闭Tomcat服务器 5. Tomcat文件目录介绍 6. Tomcat服务器部署项目

    2024年02月15日
    浏览(36)
  • 【Web服务器】Tomcat的部署

       Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的 wab应用服务器 ,是 Apache软件基金会的 Jakarta项目中的一个核心项目,由 Apache 、Sun 和其他一些公司及个人共同开发而成。    Tomcat属于轻量级应用服务器 ,在中小型系统和并发访问用户不是很多的场合

    2024年02月11日
    浏览(31)
  • Web 服务器 -【Tomcat】的简单学习

    1.1 什么是Web服务器 Web服务器是一个应用程序( 软件 ),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让Web开发更加便捷。主要功能是\\\"提供网上信息浏览服务\\\"。 Web服务器是安装在服务器端的一款软件,将来我们把自己写的Web项目部署到Web Tomcat服务器软

    2024年02月13日
    浏览(32)
  • tomcat---企业高性能web服务器

    目录 1.tomcat的简介 2.tomcat安装 3.tomcat中重要的目录及路径  编写一个tomcat的启动脚本 4.tomcat的web站点的部署 如果需要修改首页文件: 5.tomcat的虚拟主机部署 tomcat是一款开源免费的web应用服务器,在中小型企业及并发访问不是很高的情况下使用,是开发和调试jsp首选。但是t

    2024年02月13日
    浏览(37)
  • 搭建第一个Web服务器(在eclipse或idea上部署Tomcat服务器)

    💻博主现有专栏:                 C51单片机(STC89C516),c语言,c++,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux,基于HTML5的网页设计及应用,Rust(官方文档重点总结),jQuery,前端vue.js,Javaweb开发,Python机器学习等 🥏主页链接:     

    2024年04月12日
    浏览(37)
  • SpringBootWeb入门、HTTP协议、Web服务器-Tomcat

    目录 一、SpringBootWeb入门 二、HTTP协议 HTTP-请求协议 HTTP-响应协议 HTTP-协议解析 三、Web服务器-Tomcat 服务器概述 Tomcat 直接基于SpringFramework进行开发,存在两个问题:配置繁琐、入门难度大 通过springboot就可以快速的帮我们构建应用程序,所以springboot呢,最大的特点有两个 :

    2024年01月15日
    浏览(32)
  • IntelliJ IDEA创建Web项目并使用Web服务器----Tomcat

    以下是本篇文章正文内容,下面案例可供参考(提示:本篇文章属于原创,请转发或者引用时注明出处。),大家记得支持一下!!!! 每日清醒: ✌✌✌♘慢慢来,谁还没有一个努力的过程。🏆 一定要注意:别忘了设置好之后点击应用!!!!!!!!! maven项目的重点

    2024年02月10日
    浏览(52)
  • 企业级高负载web服务器-Tomcat小项目

    静态页面: 在网站设计中,纯粹HTML格式的网页(可以包含图片、视频JS (前端功能实现)、CSS (样式)等)通常 被称为\\\"静态网页\\\" 特点: 处理文件类型:如.html、jpg、.gif、.mp4、.swf、.avi、.wmv、.flv等2. 地址中不含有问号\\\"?\\\"或等特殊符号。 保存在网站服务器文件系统上的,是

    2024年02月14日
    浏览(35)
  • JavaWeb项目部署到服务器并连接本地数据库(超详细!)

    目录 一、下载XShell、Xftp工具 二 、建立服务器连接 三、服务器环境配置 四、打包web项目传输入服务器 五、服务器Web项目连接本地数据库 个人博客欢迎访问 --- 猿客栈 在XShell官网下载两个工具,用来操作服务器的Linux系统 输入服务器的主机名,验证用户和密码,默认用户名

    2024年02月05日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包