一:说到tomcat,就不得不提到Servlet(service+applet)。不过一个servlet容器要为一个servlet的请求提供服务,基本上有三件事要做:
①:创建一个request对象并填充那些有可能被引用的servlet使用的信息,如参数、头部、cookies、查询字符串、URL等等。
②:创建一个response对象,所引用的servlet使用它来给客户端发送响应。
③:调用servlet的service方法,并传入request和response对象。在这里servlet会从request对象取值,给response写值。
二:Catalina可以看成是由两个主要模块所组成的:连接器(connector)和容器(container),这两部分的介绍如下:
连接器是用来“连接”容器里边的请求的。它的工作是为接收到的每一个HTTP请求构造一个request和response对象。让后它把流程床给
容器。容器从连接器接受到request和response对象之后调用servlet的service方法用于响应。谨记,这个描述仅仅是冰山一角。这里容器做
了相当多事情。例如,在它调用servlet的service方法之前,它必须加载这个servlet,验证用户(如果需要的话),更新用户会话等等。一个
容器为了处理这个进程使用了很多不同的模块。这也并不奇怪。例如,管理模块是用来处理用户会话,而加载器是用来加载servlet类等等。