读书笔记——深入剖析Tomcat

本文深入剖析Tomcat,从简单Web服务器、Servlet容器到连接器、默认连接器的优化,涵盖HTTP协议、Socket编程、Servlet接口、生命周期管理和日志记录等方面,揭示Tomcat处理HTTP请求和服务组件的机制。
摘要由CSDN通过智能技术生成

第一章 一个简单的Web服务器

本章主要介绍Web服务器是如何运行的。基于Java的Web服务器有两个重要的类:Socket和ServerSocket,本章介绍此二类和HTTP和一个简单的Web服务器。

 

1.1 HTTP

1、是什么:HTTP允许Web服务器和浏览器通过Internet发送并接收数据,是一种基于“请求——响应”的协议。

2、内容

1.HTTP请求:包括请求方法——统一资源标识符(URI)——协议/版本、请求头、请求体。(如图)

URI:指定Internet资源的完整路径。通常被解释为相对于服务器根目录的相对路径。故以“/”开头。URL实际为URI的一种。

请求头:请求头间用CRLF(即回车换行符,\r\n)来分割。请求头和请求行用一个空行分开

2.HTTP响应:协议——状态码——描述、响应头、响应实体段。

 

 

 

 

1.2 Socket类

Socket表示客户端套接字。

Sokect,即为套接字。套接字使应用程序可以从网络中读取或写入数据。不同的计算机之间可以通过连接发送或接收字节流,以此达到互相通信的目的。

创建套接字:public Socket(host,port)

1、ServerSocket类

ServerSocket表示服务端套接字,其要等待客户端套接字的连接请求。

创建ServerSokcet:用四个构造函数之一,需要监听的IP地址和监听端口号。(必须),可有backlog(表示传入连接请求的最大队列长度)

IP地址(绑定地址):必须为InetAddress的实例,可用InetAddress.getByName(ip)获得。

 

1.3 应用程序(简易Web服务器)

该程序仅发送位于指定目录的静态资源的请求。

包含三个类,分别为HttpServer,Request,Response。

HttpServer:表示一个Web服务器,负责接收请求并响应请求。其通过Socket获得请求,并将请求封装成Request对象,把解析过后的Request传给Response对象,让Response找到静态资源并返回给客户端。

代码可从书籍给出的网址获取:https://www.brainysoftware.com/download;jsessionid=0C65689E1931A351F6B14844DE9EBF29

 

第二章 一个简单的Servlet容器

Servlet编程需用到 javax.servlet.Servlet和javax.servlet.Http两个包。

2.1 javax.servlet.Servlet接口

1、5个方法

init()、service()、destroy()是与Servlet生命周期相关的方法。(调用顺序从前到后)

init():某个servlet被实例化后,容器会调用且<

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
深入剖析Tomcat(中文版+英文版)》.rar 《深入剖析Tomcat深入剖析Tomcat 4和Tomcat 5中的每个组件(如果TOMCAT版本有点老,不过现在的Tomcat6和7同样可以借鉴参考),并揭示其内部工作原理。通过学习《深入剖析Tomcat》,你将可以自行开发Tomcat组件,或者扩展已有的组件。 Tomcat是目前比较流行的Web服务器之一。作为一个开源和小型的轻量级应用服务器,Tomcat 易于使用,便于部署,但Tomcat本身是一个非常复杂的系统,包含了很多功能模块。这些功能模块构成了Tomcat的核心结构。《深入剖析Tomcat》从最基本的HTTP请求开始,直至使用JMX技术管理Tomcat中的应用程序,逐一剖析Tomcat的基本功能模块,并配以示例代码,使读者可以逐步实现自己的Web服务器。 目录 第1章 一个简单的web服务器 1.1 http 1.1.1 http请求 1.1.2 http响应 1.2 socket类 1.3 应用程序 1.3.1 httpserver类 1.3.2 request类 1.3.3 response类 1.3.4 运行应用程序 1.4 小结 第2章 一个简单的servlet容器 2.1 javax.servlet.servlet接口 2.2 应用程序 2.2.1 httpserver1类 2.2.2 request类 2.2.3 response类 2.2.4 staticresourceprocessor类 2.2.5 servletprocessor1类 2.2.6 运行应用程序 2.3 应用程序 2.4 小结 第3章 连接器 3.1 stringmanager类 3.2 应用程序 3.2.1 启动应用程序 3.2.2 httpconnector类 3.2.3 创建httprequest对象 3.2.4 创建httpresponse对象 3.2.5 静态资源处理器和servlet处理器 3.2.6 运行应用程序 3.3 小结 第4章 tomcat的默认连接器 4.1 http 1.1的新特性 4.1.1 持久连接 4.1.2 块编码 4.1.3 状态码100的使用 4.2 connector接口 4.3 httpconnector类 4.3.1 创建服务器套接字 4.3.2 维护httpprocessor实例 4.3.3 提供http请求服务 4.4 httpprocessor类 4.5 request对象 4.6 response对象 4.7 处理请求 4.7.1 解析连接 4.7.2 解析请求 4.7.3 解析请求头 4.8 简单的container应用程序 4.9 小结 第5章 servlet容器 5.1 container接口 5.2 管道任务 5.2.1 pipeline接口 5.2.2 valve接口 5.2.3 valvecontext接口 5.2.4 contained接口 5.3 wrapper接口 5.4 context接口 5.5 wrapper应用程序 5.5.1 ex05.pyrmont.core.simpleloader类 5.5.2 ex05.pyrmont.core.simplepipeline类 5.5.3 ex05.pyrmont.core.simplewrapper类 5.5.4 ex05.pyrmont.core.simplewrappervalve类 5.5.5 ex05.pyrmont.valves.clientiploggervalve类 5.5.6 ex05.pyrmont.valves.headerloggervalve类 5.5.7 ex05.pyrmont.startup.bootstrap1 5.5.8 运行应用程序 5.6 context应用程序 5.6.1 ex05.pyrmont.core.simplecontextvalve类 5.6.2 ex05.pyrmont.core.simplecontextmapper类 5.6.3 ex05.pyrmont.core.simplecontext类 5.6.4 ex05.pyrmont.startup.bootstrap 5.6.5 运行应用程序 5.7 小结 第6章 生命周期 第7章 日志记录器 第8章 载入器 第9章 session管理 第10章 安全性 第11章 standardwrapper 第12章 standardcontext类 第13章 host和engine 第14章 服务器组件和服务组件 第15章 digester库 第16章 关闭钩子 第17章 启动tomcat 第18章 部署器 第19章 manager应用程序的servlet类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值