tomcat是一个servlet容器。

当编写servlet的时候:

public class MyHttpServlet extends HttpServlet{@Overrideprotected void doGet(HttpServeltRequest req, HttpServletResponse resp){}
}

这里的HttpServeletRequest和HttpServletResponse其实是接口。tomcat将这两个实例化后,就传给Servlet。

逻辑是这样的:

tomcat处理请求,将请求传递给SpringMvc中的DispatchServlet,然后才会发给我们自己写的程序(应该说我们写的部分,因为web程序要放到tomcat中,tomcat会调用到我们写的程序)。我们自己写的程序可能是(Spring Boot、Spring、Mybatis)。

如下伪代码:

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ....
{RequestFacade requestFacade = (RequestFacade)req;............
}
这里的RequestFacade是门面模式,门面模式和代理模式的区别是,门面模式是一对多的,代理模式是一对一的。
在tomcat中是需要使用war包,这个w值web,jar包中j指java。tomcat并不能很好区分这个jar包是工具还是其他的什么东西,为了让tomcat知道这个是个web应用,才有的war包。

一个war包一般含有这些东西

WEB-INF

里面有个classes这里面是包含我们敲的项目的类名

lib就是各种各样的库

从源码中可以知道,tomcat部署应用的时候,是采用多线程进行部署的,他源码里面使用了线程池。

Java笔记-对tomcat进一步认识相关推荐

  1. 【Java笔记+踩坑】SpringBoot基础3——开发。热部署+配置高级+整合NoSQL/缓存/任务/邮件/监控

      导航: [黑马Java笔记+踩坑汇总]JavaSE+JavaWeb+SSM+SpringBoot+瑞吉外卖+SpringCloud/SpringCloudAlibaba+黑马旅游+谷粒商城 目录 ...

  2. 【Java笔记+踩坑】SpringBoot——基础

      导航: [黑马Java笔记+踩坑汇总]JavaSE+JavaWeb+SSM+SpringBoot+瑞吉外卖+SpringCloud/SpringCloudAlibaba+黑马旅游+谷粒商城 目录 ...

  3. Java笔记-Java日常笔记-Java核心语言-史上最全Java笔记-Java烂笔头-实时更新(~v~)

    阿一的日常Java笔记,实时更新,有什么问题可以留言交流一下,大家一起共同进步!!! 1.Java基础 1.1.基本语法 1.1.1.关键字 ​ 定义:被java赋予特殊含义的字符串(单词): ​ 关 ...

  4. java笔记之抽象类和接口

    前言 java笔记之抽象类和接口是开发人员的设计工具 正文 1.抽象类 客观存在的一类事物,当这类事物都是抽象的,无法具体的描述. 1)语法: 修饰符 abstract class 类名{ } 2)特 ...

  5. 【java笔记】网络编程概述

    [java笔记]TCP通信程序_m0_52043808的博客-CSDN博客 [java笔记]网络编程:文件上传案例_m0_52043808的博客-CSDN博客 网络编程: 在一定协议下,实现两台计算机 ...

  6. java 笔记 pdf_JAVA笔记完整版.pdf

    JAVA笔记完整版 1.Basic Linux 操作 1)Linux 是模仿UNIX 的操作系统, 是山寨版的Unix 2)Linux 命令 pwd 打印当前工作目录 cd 改变工作目录 ls 显示目 ...

  7. Java笔记(学习中。。)

    Java笔记 eclipse的使用 常用的dos指令 预备知识 基本语法 变量 关于字符型 关于String 进制转换 运算符 流程控制 数组 数组的内存解析: 数组的Arrays工具类 面向对象 对 ...

  8. 【连载】Java笔记——是了解咖啡小可爱的第一周呢

    我是灼灼,一只初学Java的大一金渐层. 向往余秀华和狄兰·托马斯的疯狂,时常沉溺于将情感以诗相寄:追逐过王尔德.王小波的文字,后陷于毛姆和斯蒂芬·金不可自拔:热爱文学的浪潮,白日梦到底却总在现实里清 ...

  9. Java笔记整理五(Iterator接口,泛型,常见数据结构(栈,队列,数组,链表,红黑树,集合),jdk新特性,异常,多线程,Lambda表达式)

    Java笔记整理五 1.1Iterator接口 Collection接口与Map接口主要用于存储元素,而Iterator主要用于迭代访问(即遍历)Collection中的元素,因此Iterator对象 ...

最新文章

  1. arduino如何调用mysql,【 实测可用 】Arduino 直接访问 mysql
  2. 全球最快学术超算Frontera,也用英特尔至强可扩展处理器
  3. 洛谷 - P2444 - 病毒 - AC自动机
  4. 第三节:深度剖析各类数据结构(Array、List、Queue、Stack)及线程安全问题和yeild关键字
  5. Struts2基础知识(二)
  6. python安装gz文件_python tar.gz怎么安装-问答-阿里云开发者社区-阿里云
  7. ddmmyy日期格式是多少_解锁9个日期时间计算套路,效率提高3.2%
  8. Markdown首行缩进解决方法实例
  9. CleanMyMac教程轻松解决各种使用难题
  10. 给定随机数列求第k大的数字
  11. Android 使用手机向手表安装任意.apk
  12. vscode设置tab为4个空格_动图炫技23个鲜为人知的VS Code快捷键
  13. 高德地图打包后不能使用,高德导航View不显示,高德地图导航组件黑屏的问题;
  14. python存钱程序_Python基础(六) 52周存钱demo
  15. 机器人建模中移动关节如何建立坐标系_简述空间机器人运动学和动力学建模
  16. js递归处理删除某些节点
  17. 使用积分图像进行自适应二值化[Derek Bradley, Gerhard Roth, 2007]
  18. HbuilderX表格练习2
  19. 游戏直播视频太大了,怎么一键压缩视频?--QVE视频压缩
  20. Java去除首尾指定字符串

热门文章

  1. 诚通网盘会员很坑的,升级会员的人要注意
  2. mysql5.0.27+apache2.0.59+php5.2.0+phpMyAdmin-2.6.4-pl3
  3. 老板不相信我的方案结论!怎么让数据分析驱动决策?
  4. 数据分析师想收入翻倍,不懂点时间管理怎么行
  5. 广东人大常委会党组会议强调:要加快人工智能等领域的相关立法工作。【Python】
  6. 如何让程序员喜欢上编码
  7. 飞鸽传书已经写了5年,还是老样子。
  8. 成为oa的飞鸽传书重要标准应用与开发平台
  9. 无聊 乱写写 CSDN博客挺好玩的 确实
  10. 一个比较简单驱动程序[编译环境]