Tomcat 学习(一)
注:这篇文章是根据"How Tomcat Works"里面讲解的内容提取的。这本书剖析的是Tomcat4.1.12和5.0.18原书是为了用Java技术开发的任何人,尤其是:
[*]对servlet容器如何工作感兴趣的servlet/jsp程序员;
[*]想要加入Tomcat开发团队的人,需要先学习现有代码是如何工作的;
[*]没有涉及过网络开发,但是却对软件开发有大致的兴趣的人,从书中能够学习到一个大型的应用软件,比如说Tomcat是如何设计和开发的;
[*]需要配置和个性化Tomcat的人。
简单地说,一个Servlet容器包含:
[*]创建一个request对象,包含调用的servlet可能用到的信息,像parameters, headers, cookies, querystring, URI,等。一个request对象实现javax.servlet.ServletRequest接口或者javax.servlet.http.ServletRequest接口。(后者extends前者)
[*]创建一个response对象,它被调用的servlet是用来发送到客户端。一个response实现javax.servlet.ServletResponse接口或者javas.servlet.http.ServletResponse
[*]调用servlet的service方法,将request和response对象传过去。这里,servlet读request对象的values并去写到response对象。
Catalina包含两个模块:connector和container. 一个container对应多个connector。
The connector is there to connect a request with the containers. 它对它接收到的每一个HTTP request创建一个request对象和一个response对象。container接受connectors传过去的request和response对象,并负责调用servlet的service方法。
上面的描述只是冰山一角,container还要做很多事情,比如说,在它调用一个servlet的service方法之前,它必须load那个servlet,验证用户(如果需要的话),更新用户的session,等。 所以,一个容器使用很多不同的模块来处理,比如说:manager模块来处理用户sessions, loader模块来load servlet classes.
全书有20章,但是我们只能够免费获得前5章的电子书。
页:
[1]