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

JavaWeb- Tomcat

一、概念

老规矩,先看维基百科:Apache Tomcat (called "Tomcat" for short) is a free and open-source implementation of the Jakarta Servlet, Jakarta Expression Language, and WebSocket technologies.[2] It provides a "pure Java" HTTP web server environment in which Java code can also run. Thus it is a Java web application server, although not a full JEE application server. 有用的似乎就最后一句话,Tomcat是一个Java Web应用服务器,这也是读者们经常读到的答案。但是什么又是Web服务器呢?

所谓Web服务器,就是提供Web服务的服务器。试想这样一个过程::用户在客户端发出请求至Web服务器,Web服务器对其做出响应,返回相应的数据至客户端,即一次HTTP请求-响应(详见HTTP介绍)。有的读者可能会疑惑,Web服务器与我平时写的代码之间有什么关联呢?程序员编写的代码通常是Web应用,Web应用需要置于Web服务器之内,才能一起给用户提供Web服务。因此Web服务器也称为Web容器。

看如下简图:

那么Web服务器到底完成了什么工作呢?在上一篇介绍HTTP的文章中谈到,客户端与服务端之间在请求-响应的过程中,对于HTTP协议的操作是通用的,而这部分通用的处理即是Web服务器完成的,这使得开发者可以更关注Web应用中的业务逻辑。至此,是否对Tomcat有了初步的理解呢?

二、再理解

我们也经常听到这样的描述:Tomcat是一个开源、免费、轻量级的Web服务器,在本文的第一段中提到"not a full JEE application server",这又如何理解呢?JEE是Java Enterprise Edition,通常指Java企业级开发的技术规范总各,包含13项技术规范。由于Tomcat未完全支持全部的规范,因此会称之"not full",同样,这也是它轻量的原因。而像其它的Web服务器如WebLogic则支持全部的规范,因此也比Tomcat更重。(了解即可)

此外,笔者经常提到一句话:理解一个技术,要理解这个技术为什么产生,是解决了当时的什么问题,这样能帮助我们将不断迭代的技术连贯起来。那么Tomcat的产生是基于什么需求呢?在网络服务出现之前,计算机只能浏览编辑本机上的资源,我们肯定是期望能够访问其它计算机上的资源的,于是Web项目与处理HTTP通用操作的Web服务器便应运而生了。

三、快速使用

请查看Tomcat快速使用,以最简单的依赖和代码部署一个Web项目到Tomcat中并在浏览器中访问。

http://www.lryc.cn/news/278233.html

相关文章:

  • Android studio 各本版下载
  • [C#]winform部署PaddleOCRV3推理模型
  • 谈谈Spring Bean
  • kubernetes(一)概述与架构
  • 【Scala】——变量数据类型运算符
  • 嵌入式培训机构四个月实训课程笔记(完整版)-Linux系统编程第十天-Linux下mplayer音乐播放器练习题(物联技术666)
  • 线性回归(Linear Regression)
  • matlab绘图修改坐标轴数字字体大小及坐标轴自定义间隔设置
  • C++入门教程,C++基础教程(第一部分:从C到C++)七
  • 【数据库】视图索引执行计划多表查询笔试题
  • CentOS7本地部署分布式开源监控系统Zabbix并结合内网穿透实现远程访问
  • 虚拟主机 如何上传大于100M的文件 php网站程序
  • 登录模块的实现
  • Asp .Net Core系列:基于MySQL的DBHelper帮助类和SQL Server的DBHelper帮助类
  • 【排序】对各种排序的总结
  • Apache ActiveMQ RCE CNVD-2023-69477 CVE-2023-46604
  • C语言可变参数输入
  • 飞天使-k8s知识点10-kubernetes资源对象3-controller
  • 【Vue技巧】Vue2和Vue3组件上使用v-model的实现原理
  • 博客随手记
  • 【2023】java常用HTTP客户端对比以及使用(HttpClient/OkHttp/WebClient)
  • 微信小程序获取来源场景值
  • Vue3:vue-cli项目创建及vue.config.js配置
  • 关于CAD导入**地球的一些问题讨论
  • Semaphore信号量详解
  • Python的核心知识点整理大全66(已完结撒花)
  • k8s的存储卷
  • Git 实战指南:常用指令精要手册(持续更新)
  • 关于SpringMVC前后端传值总结
  • 【排序】归并排序(C语言实现)