vlambda博客
学习文章列表

实战之自定义Tomcat框架(一) -- 思路梳理

这个系列是一个对tomcat框架的实战系列,主要还是通过简单的实现一个tomcat框架来更加深层次的理解tomcat的作用。这也是比较有意思的,因为我们平时都是直接使用而不是去探讨其中的奥秘,但我们的目标并不是只做调包侠,而是要做工程师,知其然知其所以然,才是一个合格工程师的基础特点。


本章节我们先简单的回顾一个tomcat大体思路,对手写迷你Tomcat进行一个思路的简单分析。


我们这个要自定义的tomcat框架命名为minicat,而这个minicat所做的事情是:作为一个服务器,用来提供服务的,也就是说我们可以通过客户端发送http请求,而minicat可以接受到对应的请求进行处理,处理之后的结果可以返回浏览器客户端。
  1. 提供服务,接受请求(Socket通信)

  2. 请求信息封装成Request对象和返回信息封装成Response对象

  3. 客户端请求资源,资源分成静态资源(HTML/CSS)和动态资源(servlet)

  4. 资源返回给客户端浏览器

其实,我们需要用递进式的思维去实现以上的需求,提出V1.0,V2.0,V3.0版本的需求。

  • V1.0需求:浏览器请求localhost:8080, 然后我们返回一个固定视图给前端页面,这里我们返回字符串 "hello minicat"

  • V2.0需求:封装Request和Response对象,返回HTML静态的资源文件

  • V3.0需求:可以请求动态资源,比如servlet文件


这一章我们是简单梳理了minicat思路,下一章节我们将会实现minicat的V1.0版本,你准备好了吗?