JavaWeb自學筆記,ServletAPI編程常用接口和類

Servlet接口

Servlet是運行在服務器端的Java應用程序,由Servlet容器對其進行管理,當用戶對容器發送HTTP請求時,容器將通知相應的Servlet對象進行處理,完成用戶與程序之間的交互,在Servlet編程中,Servlet API提供了標準的接口與類,這些對象對Servlet的操作非常重要,它們爲HTTP請求與程序迴應提供了豐富的方法。

Servlet的運行需要Servlet容器的支持,Servlet容器通過調用Servlet 對象提供了標準的API接口,對請求進行處理。在Servlet開發中,任何一個Servlet對象都要直接或間接地實現javax.servlet.Servlet接口。在該接口中包含5個方法,其功能及作用如下表。
在這裏插入圖片描述
一個正常實現了Servlet接口的類需要實現Servlet中的各種方法。代碼如下。

import javax.servlet.*;
import java.io.IOException;

public class Demo1 implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {

    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

在Servlet中,主要的方法是service(),當客戶端請求到來時,Servlet容器將調用Servlet實例的service()方法對請求進行處理。

ServletConfig接口

ServletConfig接口位於javax.servlet包中,它封裝了Servlet的配置信息,在Servlet初始化期間被傳遞,每一個Servlet都有且只有一個ServletConfig對象,該對象定義了4個方法。如下表。
在這裏插入圖片描述

HttpServletRequest接口

HttpServletRequest接口位於javax.servlet.http包中,繼承了javax.servlet.ServletRequest接口,是Servlet中的種要對象,在開發過程中較爲常用,其常用方法及說明如下表。
在這裏插入圖片描述

HttpServletResponse接口

HttpServletReponse接口位於javax.servlet.http包中,它繼承了javax.servlet.ServletResponse接口,同樣是一個非常重要的對象,其常用方法及說明如下表。
在這裏插入圖片描述

GenericServlet類

在編寫一個Servlet對象時,必須實現javax.servlet.Servlet接口,在Servlet接口中包含5個方法,也就是說創建一個Servlet對象要實現這5個方法,這樣操作非常不方便。javax.servlet.GenericServlet類簡化了此操作,實現了Servlet接口。
GenericServlet類是一個抽象類,分別實現了Servlet接口與ServletConfig接口。該類實現了除service()之外的其他方法,在創建Servlet對象時,可以繼承GenericServlet類來簡化程序中的代碼,但需要實現service()方法。

HttpServlet類

GenericServlet類實現了javax.servlet.Servlet接口,爲程序的開發提供了方便,但在實際開發過程中,大多數的應用都是使用Servlet處理HTTP協議的請求,並對請求做出響應,所以通過繼承GenericServlet類仍然不是很方便。javax.servlet.http.HttpServlet類對GenericServlet類進行了擴展,爲HTTP請求的處理提供了靈活的方法。
HttpServlet類仍然是一個抽象類,實現了service()方法,並針對HTTP1.1中定義的其中請求方式提供了相應的方法。doGet(),doPost(),doPut(),doDelete(),doHead(),doTrace()和doOptions() 方法。在這7個方法中,除了對doTrace()和 doOptions() 方法進行簡單實現外,HttpServlet類並沒有對其他的方法進行實現,需要開發人員在使用過程中根據實際需要對其進行重寫。
HttpServlet類繼承了GenericServlet類,通過其對GenericServlet類的擴展,可以很方便地對HTTP請求進行處理及相應。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章