Tomcat学习专题

Tomcat 基础

1. web 概念

1). 软件架构

  1. C/S: 客户端/服务器端 ‐‐‐‐‐‐‐‐‐‐‐‐> QQ , 360 …
  2. B/S: 浏览器/服务器端 ‐‐‐‐‐‐‐‐‐‐‐‐> 京东, 网易 , 淘宝 , 传智播客官网

2). 资源分类

  1. 静态资源: 所有用户访问后,得到的结果都是一样的,称为静态资源。静态资 源可以直接被浏览器解析。
  • 如: html,css,JavaScript,jpg
  1. 动态资源: 每个用户访问相同资源后,得到的结果可能不一样 , 称为动态资 源。动态资源被访问后,需要先转换为静态资源,再返回给浏览器,通过浏览器进行解析。
  • 如:servlet/jsp,php,asp…

3). 网络通信三要素

  1. IP:电子设备(计算机)在网络中的唯一标识。
  2. 端口:应用程序在计算机中的唯一标识。 0~65536
  3. 传输协议:规定了数据传输的规则
  4. 基础协议:
  5. tcp : 安全协议,三次握手。 速度稍慢
  6. udp:不安全协议。 速度快

2. 常见的web服务器

1. web服务器概念

  1. 服务器:安装了服务器软件的计算机
  2. 服务器软件:接收用户的请求,处理请求,做出响应
  3. web服务器软件:接收用户的请求,处理请求,做出响应。 在web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目

2.常见web服务器软件

  1. webLogic:oracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
  2. webSphere:IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
  3. JBOSS:JBOSS公司的,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
  4. Tomcat:Apache基金组织,中小型的JavaEE服务器,仅仅支持少量的JavaEE规范 servlet/jsp。开源的,免费的。

Tomcat 目录结构

Tomcat 的主要目录文件如下 :

tomcat目录结构

Tomcat 架构

1. Http工作原理

HTTP协议是浏览器与服务器之间的数据传送协议。 作为应用层协议,HTTP是基于TCP/IP 协议来传递数据(HTML文件、图片、查询结果等),HTTP协议不涉及数据包 (Packet传输,主要规定了客户端和服务器之间的通信格式
在这里插入图片描述

  1. 用户通过浏览器进行了一个操作,比如输入网址并回车,或者是点击链接,接着浏览 器获取了这个事件。
  2. 浏览器向服务端发出TCP连接请求。
  3. 服务程序接受浏览器的连接请求,并经过TCP三次握手建立连接。
  4. 浏览器将请求数据打包成一个HTTP协议格式的数据包。
  5. 浏览器将该数据包推入网络,数据包经过网络传输,最终达到端服务程序。
  6. 服务端程序拿到这个数据包后,同样以HTTP协议格式解包,获取到客户端的意图。
  7. 得知客户端意图后进行处理,比如提供静态文件或者调用服务端程序获得动态结果。
  8. 服务器将响应结果(可能是HTML或者图片等)按照HTTP协议格式打包。
  9. 服务器将响应数据包推入网络,数据包经过网络传输最终达到到浏览器。
  10. 浏览器拿到数据包后,以HTTP协议的格式解包,然后解析数据,假设这里的数据是 HTML。
  11. 浏览器将HTML文件展示在页面上。

2. Http服务器请求处理

浏览器发给服务端的是一个HTTP格式的请求,HTTP服务器收到这个请求后,需要调用服
务端程序来处理,所谓的服务端程序就是你写的Java类,一般来说不同的请求需要由不同 的Java类来处理。
在这里插入图片描述

  1. 图1 , 表示HTTP服务器直接调用具体业务类,它们是紧耦合的。
  2. 图2,HTTP服务器不直接调用业务类,而是把请求交给容器来处理,容器通过
    Servlet接口调用业务类。因此Servlet接口和Servlet容器的出现,达到了HTTP服务器与
    业务类解耦的目的。而Servlet接口和Servlet容器这一整套规范叫作Servlet规范。
    Tomcat按照Servlet规范的要求实现了Servlet容器,同时它们也具有HTTP服务器的功
    能。作为Java程序员,如果我们要实现新的业务功能,只需要实现一个Servlet,并把它
    注册到Tomcat(Servlet容器)中,剩下的事情就由Tomcat帮我们处理了。

3. Servlet容器工作流程

当客户请求某个资源时,HTTP服务器会用一个ServletRequest对象把客户的请求信息封装起来,然后调用Servlet容器的service方法,Servlet容器拿到请求后,根据请求的URL和Servlet的映射关系,找到相应的Servlet,如果Servlet还没有被加载,就用反射机制创 建这个Servlet,并调用Servlet的init方法来完成初始化,接着调用Servlet的service方法 来处理请求,把ServletResponse对象返回给HTTP服务器,HTTP服务器会把响应发送给 客户端。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值