Tomcat

Tomcat

2024
记录

Tomcat学习 #

1 web基础 #

1、软件架构

  • c/s :客户端 /服务器端
  • b/s : 浏览器/服务器端

2、资源分类

  • 静态资源:所有用户访问都是一样的数据 ,得到的结果都一样,直接被浏览器解析

  • 动态资源:每个用户访问资源都不一样,需要先转化为静态资源 在返回给浏览器,通过浏览器进行解析

    如:servlet/jsp .php,asp…..

3、网络通信三要素

  • ip:电子设备在网络中的唯一标识

  • 端口:应用程序在计算机的唯一标识

  • 传输协议:规定了数据传输的规则

    1、基础协议

    • tcp:安全的协议 ,三次握手,速度慢
    • udp:不安全,速度快

1.1常见web服务器 #

Tomcat:apache基金组织,中小型javaEE项目 ,支持少量的JavaEE规范servlet/jsp。开源的 免费的

1.2 Tomcat 下载 #

apache tomcat: https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.42/bin/ 需要什么版本后缀什么

打开网站,选择Archives找到历史版本下载,我选择了8.5..42版本

image-20240903113350446

1.3 Tomcat目录结构 #

目录名称 文件 作用
bin / 存放Tomcat的启动、停止等批处理脚本文件 可执行文件
.bat结尾 window命令
startup.bat ,
startup.sh ,
window和linux下的启动命令
conf / 存放Tomcat的相关配置文件
web.xml Tomcat中所有应用默认的部署描述文件,主要定义了基础Servlet和MIME映射。
server.xml Tomcat服务器的核心配置文件 如端口号
logging.properties Tomcat的日志配置文件,可以通过该文件修改Tomcat的日志级别及日志路径等
context.xml 用于定义所有web应用均需加载的Context配置,如果web应用指定了自己的context.xml,该文件将被覆盖
Catalina 用于存储针对每个虚拟机的Context配置
tomcat-user.xml 可以进行权限管理
lib / Tomcat服务器的依赖包
logs / Tomcat默认的日志存放目录
webapps / Tomcat默认的Web应用部署目录
work / Web应用JSP代码生成和编译的临时目录

1.4 Tomcat启动 停止 #

启动

双击 bin/startup.bat 文件;

停止

双击 bin/shutdown.bat文件

访问

localhost:8080
image-20240903120110909

1.5Tomcat 源码下载 #

貌似可以自己编译,源码定制化

2 Tomcat的架构 #

2.1 http工作原理 #

http协议是浏览器和服务器的数据传送协议。作为应用层协议,HTTP协议是基于 TCP/IP协议来传递数据。不涉及数据包(Packet)传输,主要规定了客户端和服务器之间的通信格式。

1)用户通过浏览器进行了一个操作,比如输入网址并回车,或者是点击链接,接着浏览器获取了这个事件。

2)浏览器向服务端发出TCP连接请求。

3)服务程序接受浏览器的连接请求,并经过TCP三次握手建立连接。

4)浏览器将请求数据打包成一个HTTP协议格式的数据包。

5)浏览器将该数据包推入网络,数据包经过网络传输,最终达到端服务程序。

6)服务端程序拿到这个数据包后,同样以HTTP协议格式解包,获取到客户端的意图。

7)得知客户端意图后进行处理,比如提供静态文件或者调用服务端程序获得动态结果。

8)服务器将响应结果(可能是HTML或者图片等)按照HTTP协议格式打包。

9)服务器将响应数据包推入网络,数据包经过网络传输最终达到到浏览器。

10)浏览器拿到数据包后,以HTTP协议的格式解包,然后解析数据,假设这里的数据是HTML。

11)浏览器将HTML文件展示在页面上。

2.2.1 Http服务器请求处理 #

浏览器发给服务端的是一个HTTP的请求,HTTP服务器收到这个请求后,需要调用服务端程序

image-20240903144740738