码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Tomcat 服务详解


    文章目录

    • 一、简介
      • 1. 历史
      • 2. 应用场景
      • 3. 组件
    • 二、Tomcat 详述
      • 1. Tomcat 核心组件详解
        • 1.1 Web 容器
        • 1.2 JSP 容器(JAVA Scripts page)
        • 1.3 Servlet 容器
      • 2. Tomcat 请求处理过程
    • 三、Tomcat 安装
      • 1. YUM 安装
      • 2. 预下载安装包安装
        • 2.1 安装 JDK 环境
        • 2.2 安装 Tomcat
    • 四、Tomcat 虚拟主机
    • 五、Tomcat 优化

    一、简介

    1. 历史

    • 1996 年底,SUN 公司发布了 Servlet 第一版规范。
    • 1997 年 SUN 公司软件架构师 James Duncan Davidson,开发了 Servlet 的参考实现项目 Java Web Server。
    • 1999 将项目贡献给了 ASF,和 ASF 现有的 JServ 项目合并发布初始版本 Tomcat 3.0,实现了 Servlet 2.2 和 JSP 1.1 规范。
    • Tomcat 仅仅实现了 Java EE 规范中与 Servlet、JSP 相关的类库,是 JavaEE 不完整实现。
    • 2001 年 Tomcat 4.x 发布时,内建了 Catalina(Servlet容器)和 Jasper(JSP engine)等。
    • 2005 年成为 Apache 顶级项目。

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

    2. 应用场景

    Tomcat 是 Apache 的扩展,是 Apache 的一个子项目,它具备 Web 服务器的所有功能,不仅可以监听接受请求并响应静态资源,而且可以在后端运行特定规范的 Java 代码 Servlet,同时将执行的结果以 HTML 代码的形式返回客户端。
    Tomcat 虽然和 Apache 或者 Nginx 这些 Web 服务器一样,具有处理 HTML 页面的功能,然而由于其处理静态 HTML 的能力远不及 Apache 或者 Nginx,所以 Tomcat 通常是作为一个 Servlet 和 JSP 容器,单独运行在后端。

    3. 组件

    Tomcat 由一系列的组件构成,其中核心的组件有三个

    名称

    功能

    Web 容器

    完成 Web 服务器的功能( 如 HTTP/HTTPS 请求的接受和响应 )

    Servlet 容器

    由名称为 catalina 的脚本来处理 Servlet 代码( 如从数据库中拿取数据给与前端 )

    JSP 容器

    用于将 JSP 动态网页翻译成 Servlet 代码( index.html index.php index.jsp )

    二、Tomcat 详述

    1. Tomcat 核心组件详解

    1.1 Web 容器

    负责 WEB 服务的 TCP/IP、HTTP/HTTPS 等协议响应、处理 (nginx 处理静态页面的应用交互)

    1.2 JSP 容器(JAVA Scripts page)

    • 一种动态网页开发技术
    • 它使用 JSP 标签在 HTML 网页中插入 Java 代码,通常以 <%开头,以%>结束
    • JSP 是一种 Java servlet,主要用于实现 Java web 应用程序的用户界面部分
    • JSP 通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页

    1.3 Servlet 容器

    • 由名称为 catalina.sh 的脚本来处理 Servlet 代码(Servlet 代码是由 Java 编写的)
    • Servlet 容器调用 API 接口,找到对接的项目,对接的项目从 mysql 数据库中获得相应信息,比如:数据库交互、加密、支付宝、人脸识别等,处理完后会将这些数据返回给 jsp,通过 jsp
  • 相关阅读:
    AD入门学习—元件库的创建2
    朴素迪氏最短单源路径的原理及C++实现
    layui 表格(table)合计 取整数
    nginx快速入门
    你知道谁是计算机之父吗?
    绘制花朵-第13届蓝桥杯Scratch选拔赛真题精选
    CRM系统对科技企业有哪些帮助
    MyBatis动态SQL多表操作
    什么是IPLC专线?IPLC专线有什么优势?
    手摸手教你用AI生成PPT(本文不卖课)
  • 原文地址:https://blog.csdn.net/m0_67394002/article/details/126812226
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号