jason0401 发表于 2017-1-18 06:04:52

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]
查看完整版本: Tomcat 学习(一)