天天看點

《Servlet和JSP學習指南》一第1章 Servlet 1.1 Servlet API概述

servlet是開發servlets應用程式的主要技術。掌握servlet api是成為一名技術高超的java web開發者的基礎。你必須非常熟悉servlet api中所定義的70多種類型。這個數字聽起來似乎不少,但是如果你每次學一種,就不會覺得困難了。

本章将介紹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包中的成員。

javax.servlet包

圖1-1展示了javax.servlet中的主要類型。

《Servlet和JSP學習指南》一第1章 Servlet 1.1 Servlet API概述

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執行個體。這個對象封裝context(應用程式)的環境細節。每個context隻有一個servletcontext。每個servlet執行個體還有一個封裝servlet配置資訊的servletconfig。

接下來我們先看一下servlet接口。上面提到過的其他接口将在本章的其他小節中讨論。