0.介绍
0.1.Servlet 容器是如何工作的
servlet容器是一个复杂的系统。不过,一个servlet容器要为一个servlet的请求提供服
务,基本上有三件事要做:
· 创建一个request对象并填充那些有可能被所引用的servlet使用的信息,如参数、头
部、cookies、查询字符串、URI等等。一个request对象是javax.servlet.ServletRequest或javax.servlet.http.ServletRequest接口的一个实例。
· 创建一个response对象,所引用的servlet使用它来给客户端发送响应。一个response
对象javax.servlet.ServletResponse或javax.servlet.http.ServletResponse接口的一个实例。
· 调用servlet的service方法,并传入request和response对象。在这里servlet会从request对象取值,给response写值。
Catalina 架构图
Catalina 是一个非常复杂的,并优雅的设计开发出来的软件,同时它也是模块化的。Catalina划为两个模块:连接器(connector)和容器(container)。
它的工作是为接收到每一个HTTP请求构造一个request和response对象。然后它把处理过程交给容器。容器从连接器接收到 requset和 response 对象,并负责调用相应的servlet的 service方法。