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
,其中包含定义Servlet
和Servlet
容器之间契约的类和接口。javax.servlet.http
,其中包含定义HTTP Servlet
和Servlet
容器之间契约的类和接口。javax.servlet.annotation
,其中包含标注Servlet
、Filter
、Listener
的标注。它还为被标注元件定义元数据。javax.servlet.descriptor
,其中包含提供程序化登录web
应用程序的配置信息的类型。
本章主要关注javax.servlet
和javax.servlet.http
的成员。
Servlet
技术的核心是Servlet
,它是所有Servlet
类必须直接或间接实现的一个接口。在编写实现Servlet
的Servlet
类时,直接实现它。在扩展实现这个接口的类时,间接实现它。 Servlet
接口定义了Servlet
与Servlet
容器之间的契约。
这个契约归结起来就是,**Servlet
容器将Servlet
类载入内存,并在Servlet
实例上调用具体的方法。在一个应用程序中,每种Servlet
类型只能有一个实例**。
Servlet请求响应过程
用户请求到达时,Servlet
容器会调用Servlet
的service
方法,并传入一个ServletRequest
实例和一个ServletResponse
实例作为service
方法的参数。ServletRequest
中封装了当前的HTTP
请求,因此,Servlet
开发人员不必解析和操作原始的HTTP
数据。ServletResponse
表示当前用户的HTTP
响应,通过ServletResponse
,使得将响应发回给用户变得十分容易。
对于每一个应用程序,Servlet
容器还会创建一个 ServletContext
实例。这个对象中封装了上下文(应用程序)的环境详情。每个上下文只有一个ServletContext
。 每个Servlet
实例也都有一个封装Servlet
配置的 ServletConfig
。
下面来看Servlet
接口。上面提到的其他接口,将在本章的其他小节中讲解。