更新時間:2024-02-27 來源:黑馬程序員 瀏覽量:
Sun公司提供了一系列的接口和類用于Servlet技術(shù)的開發(fā),其中最重要的接口是java.x.servlet.Servlet。在Servlet接口中定義了五個抽象方法,如表9-1所示。
表9-1 Servlet接口的抽象方法
在表9-1中,列舉了Servlet接口中的五個方法,其中init()、service()和destroy()方法可以表現(xiàn)Servlet的生命周期,它們會在某個特定的時刻被調(diào)用。
針對Servlet的接口,Sun公司提供了兩個默認的接口實現(xiàn)類:GenericServlet和HttpServlet。其中,GenericServlet是一個抽象類,該類為Servlet接口提供了部分實現(xiàn),它并沒有實現(xiàn)HTTP請求處理;HttpServlet是GenericServlet的子類,它繼承了GenericServlet的所有方法,并且為HTTP請求中的GET和POST等類型提供了具體的操作方法。通常情況下,編寫的Servlet類都繼承自HttpServlet,在開發(fā)中使用的也是HttpServlet對象。
HttpServlet類中包含了兩個常用方法,這兩個方法說明如表9-2所示。
表9-2 HttpServlet類的常用方法
HttpServlet主要有兩大功能,具體如下。
(1)根據(jù)用戶請求方式的不同,定義相應(yīng)的doXxx()方法處理用戶請求。例如,與GET請求方式對應(yīng)的doGet()方法,與POST方式對應(yīng)的doPost()方法。
(2)通過service()方法將HTTP請求和響應(yīng)分別強轉(zhuǎn)為HttpServletRequest和HttpServletResponse類型的對象。
需要注意的是,由于HttpServlet類在重寫的service()方法中,為每一種HTTP請求方式都定義了對應(yīng)的doXxx()方法,因此,當(dāng)定義的類繼承HttpServlet后,只需要根據(jù)請求方式重寫對應(yīng)的doXxx()方法即可,而不需要重寫service()方法。