tomcat源码解析(一)——Bootstrap和Catalina启动部分
Tomcat源码学习(2)-How Tomcat works
在Web应用中通过TomcatAPI对Tomcat进行访问与控制
How Tomcat Works这本书介绍了Tomcat的工作原理,分别讨论了Tomcat4.1.14与5.0.18,最好的地方是,它从构造一个简单的服务器迭代式的介绍,每一章都在前面的基础上添加一部分,最终构造了一个强大如Tomcat的web服务器,
Servlet容器工作方式:
1. 创建一个request对象,用于封装servlet可能会用到的信息,像parameters、headers、cookies、URI,request对象必须实现javax.servlet.http.ServletRequest 或javax.servlet.ServletRequest;
2. 创建一个response对象,用于对client进行响应,resonse对象必须实现javax.servlet.ServletResponse和javax.servlet.http.ServletResponse;
3. 调用servlet的service方法,并把request和response对象传给servlet,servlet通过request获取参数,通过response写信息。
Catalina拥有成熟和优雅的设计,同时它也是采用模块化思想进行设计的,主要可以分为connector 和 container两大模块
============================================================================
StaticResourceProcessor
ServletRrocessor:
URI -》 servletName -》 URLClassLoader.loadClass(servletName)获取Servlet类myClass
-》 myClass.newInstance()获取Servlet对象myServlet
-》 myServlet.service((ServletRequest)request, (ServletResponse)response);