How Tomcat Works 2:一个简单的Servlet 容器

这一章的主要内容是讲解如何构造自己的Servlet 容器。

我们首先看一个servlet 容器需要做什么工作来为一个servlet 来提供HTTP请求。

Servlet 编程是通过 javax.servlet 和 javax.servlet.http 这两个包的类和接口来实现的。这里面最重要的就是 javax.servlet.Servlet 接口。所有的servlet 实现类必须实现这个接口。

这个接口主要有5个方法:

其中,init,service 和 destory 是servlet 的生命周期方法。在servlet 已经初始化后,init 方法将会被servlet 容器所调用。而且只会被调用一次,以此表明servlet 已经被加载到服务之中。

init 方法必须在任何请求调用之前运行完毕。

servlet 容器为 servlet 请求调用它的service 方法,这个方法传递一个ServletRequest 请求和一个ServletResponse 响应。前者包含请求信息,后者封装servlet 的响应。在整个Servlet周期中,service 方法会被多次调用。

当从服务中移除一个servlet 实例的时候,servlet 容器调用destory 方法。这个方法的调用通常发生在 servlet 容器正在关闭或者servlet 容器需要一些空闲内存的时候。

一个简单的Servlet 容器

一个复杂的Servlet 容器

猜你喜欢

转载自blog.csdn.net/u014209205/article/details/83750465