图片

不知道大家是否还记得前面我一篇文章中的那份简历,神一样的存在。很多人认为很难,但其实你也可以做到。走不一样的路,今天我们一起手把手的撸一个 Tomcat 吧。

你要撸一个 Tomcat,你首先得知道 Tomcat 干了哪些事。我们撸的简单点,就是把 Tomcat 解析 Http 协议,封装 Request 和 Response,调用 Servlet 这一块核心给搞出来。

明白这一点后,我们先来写一个 Socket,监听端口,解析封装请求和响应对象。

图片

代码很简单,读取 Web.xml 这一块忽略,相当于直接读取到了 Map 中。

然后是请求 Request 部分的代码。

图片

再接着封装 Response。

图片

接着是 XttblogServlet 接口。

图片

最后一步,写个 Servlet 测试我们的 Tomcat。

图片

至此,代码全部撸完。我们 main 方法启动项目。浏览器里输入 http://localhost:8089/xttblog,请求响应完美支持。

图片

上面的代码很简单,但 Tomcat 并不简单。Tomcat 还有很多功能,里面也用到了很多设计模式,线程池,集群,虚拟目录等各种功能。

图片