最近在研究 Tomcat ,感觉整体设计确实值得学习。今天先分享一篇文章带大家简单看看。后面,参考 Tomcat 整体设计自己争取能够手写一个轻量的 web 服务器。
使用 golang 语言 实现一个 http server,只需几行代码即可,为何用 java 实现如何“沉重”呢?这背后 Tomcat 是一个什么角色呢?
package mainimport ( "io" "net/http")func helloHandler(w http.ResponseWriter, req *http.Request) { io.WriteString(w, "hello, world!\n")}func main() { http.HandleFunc("/", helloHandler) http.ListenAndServe(":12345", nil)}Tomcat 是一个 Servlet 容器?
单纯的思考一下这句话,我们可以抽象出来这么一段代码:
class Tomcat { List<Servlet> sers;}
如果 Tomcat 就长这样,那么它肯定是不能工作的,所以,Tomcat 其实是这样:
class Tomcat { Connector connector; // 连接处理器 List<Servlet> sers;}

使用 golang 语言 实现一个 http server,只需几行代码即可,为何用 java 实现如何“沉重”呢?这背后 Tomcat 是一个什么角色呢?
package mainimport ( "io" "net/http")func helloHandler(w http.ResponseWriter, req *http.Request) { io.WriteString(w, "hello, world!\n")}func main() { http.HandleFunc("/", helloHandler) http.ListenAndServe(":12345", nil)}Tomcat 是一个 Servlet 容器?
单纯的思考一下这句话,我们可以抽象出来这么一段代码:
class Tomcat { List<Servlet> sers;}
如果 Tomcat 就长这样,那么它肯定是不能工作的,所以,Tomcat 其实是这样:
class Tomcat { Connector connector; // 连接处理器 List<Servlet> sers;}
