编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

Servlet 工作原理

Servlet 需要在特定的容器中才能运行,在这里所说的容器即 Servlet 运行的时候所需的运行环境,一般情况下,市面上常见的 Java Web Server 都可以支持 Servlet,例如 Tomcat、Resin、Weblogic、WebSphere等,在本书中采用 Tomcat 作为 Servlet 的容器,由 Tomcat 为 Servlet 提供基本的运行环境。

Servlet 容器环境在 HTTP 通信和 web 服务器平台之间实现了一个抽象层。Servlet 容器负责把请求传递给 Servlet,并把结果返回结客户。容器环境也提供了配置 Servlet 应用的简单方法,并且也提供用XML 文件配置 Servlet 的方法。当 Servlet 容器收到对用户对 Servlet 请求的时候,Servlet 引擎就会判断这个 Servlet 是否是第一次被访问,如果是第一次访问,Servlet 引擎就会初始化这个 Servlet,即调用 Servlet 中的init()方法完成必要的初始化工作,当后续的客户请求 Servlet 服务的时候,就不再调用 init()方法,而是直接调用 service()方法,也就是说每个 Servlet 只被初始化一次,后续的请求只是新建一个线程,调用 Servlet 中的 service()方法。

在使用 Servlet 的过程中,并发访问的问题由 Servlet 容器处理,当多个用户请求同一个 Servlet 的时候,Servlet 容器负责为每个用户启动一个线程,这些线程的运行和销毁由 Servlet 容器负责,而在传统的 CGI 程序中,是为每一个用户启动一个进程,因此 Servlet 的运行效率就要比 CGI 的高出很多。


未经允许不得转载: 技术文章 » Java编程 » Servlet 工作原理