天天看点

《Servlet、JSP和Spring MVC初学指南》——第1章 Servlets 1.1Servlet API概览

本节书摘来自异步社区《servlet、jsp和spring mvc初学指南》一书中的第1章,第1.1节,作者:【加】budi kurniawan(克尼亚万) , 【美】paul deck著,更多章节内容可以访问云栖社区“异步社区”公众号查看

servlet api是开发servlet的主要技术。掌握servlet api是成为一名强大的java web开发者的基本条件,你必须熟悉servlet api中定义的核心接口和类。

本章介绍了servlet api,并教你如何编写第一个servlet。

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的成员。

图1.1中展示了javax.servlet中的主要类型。

《Servlet、JSP和Spring MVC初学指南》——第1章 Servlets 1.1Servlet API概览

图1.1 javax.servlet中的主要类型

servlet技术的核心是servlet,它是所有servlet类必须直接或间接实现的一个接口。在编写实现servlet的servlet类时,直接实现它。在扩展实现这个接口的类时,间接实现它。

servlet接口定义了servlet与servlet容器之间的契约。这个契约归结起来就是,servlet容器将servlet类载入内存,并在servlet实例上调用具体的方法。在一个应用程序中,每种servlet类型只能有一个实例。

用户请求致使servlet容器调用servlet的service方法,并传入一个servletrequest实例和一个servletresponse实例。servletrequest中封装了当前的http请求,因此,servlet开发人员不必解析和操作原始的http数据。servletresponse表示当前用户的http响应,使得将响应发回给用户变得十分容易。

对于每一个应用程序,servlet容器还会创建一个servletcontext实例。这个对象中封装了上下文(应用程序)的环境详情。每个上下文只有一个servletcontext。每个servlet实例也都有一个封装servlet配置的servletconfig。

下面来看servlet接口。上面提到的其他接口,将在本章的其他小节中讲解。