1.1 Servlet API概览

第1章 Servlets

Servlet API是开发Servlet的主要技术。掌握Servlet API是成为一名强大的Java web开发者的基本条件,你必须熟悉Servlet API中定义的核心接口和类。 本章介绍了Servlet API,并教你如何编写第一个 Servlet

1.1 Servlet API概览

Servlet API有以下4个Java包:

  • javax.servlet,其中包含定义ServletServlet容器之间契约的类和接口。
  • javax.servlet.http,其中包含定义HTTP ServletServlet容器之间契约的类和接口。
  • javax.servlet.annotation,其中包含标注ServletFilterListener的标注。它还为被标注元件定义元数据。
  • javax.servlet.descriptor,其中包含提供程序化登录 web应用程序的配置信息的类型。

本章主要关注javax.servletjavax.servlet.http的成员。

Servlet技术的核心是Servlet,它是所有Servlet类必须直接或间接实现的一个接口。在编写实现ServletServlet类时,直接实现它。在扩展实现这个接口的类时,间接实现它。 Servlet接口定义了ServletServlet容器之间的契约。

这个契约归结起来就是,**Servlet容器将Servlet类载入内存,并在Servlet实例上调用具体的方法在一个应用程序中,每种Servlet类型只能有一个实例**。

Servlet请求响应过程

用户请求到达时,Servlet容器会调用Servletservice方法,并传入一个ServletRequest实例和一个ServletResponse实例作为service方法的参数。ServletRequest中封装了当前的HTTP请求,因此,Servlet开发人员不必解析和操作原始的HTTP数据。ServletResponse表示当前用户的HTTP响应,通过ServletResponse,使得将响应发回给用户变得十分容易。

对于每一个应用程序,Servlet容器还会创建一个 ServletContext实例。这个对象中封装了上下文(应用程序)的环境详情。每个上下文只有一个ServletContext。 每个Servlet实例也都有一个封装Servlet配置的 ServletConfig
下面来看Servlet接口。上面提到的其他接口,将在本章的其他小节中讲解。