JAVA Servlet API简介及接口与类的用法
本章介紹了Java Servlet API中的主要的接口與類的用法,并且介紹了它們的生命周期。表4-1 對接口與類的作用與生命周期作了歸納。這些接口與類的生命周期都由Servlet容器來控制,容器會在特定的時刻創(chuàng)建或銷毀它們的實例。
表4-1 Servlet API中的主要的接口與類的作用和生命周期
接 口 與 類 作 用 生 命 周 期
Servlet 接口
GenericServlet 抽象類
HttpServlet 抽象類
(1)負責響應客戶請求
(2)GenericServlet 是Servlet 接口的通用實現;而HttpServlet 提供了與HTTP
協(xié)議相關的實現
(1)對于多數Servlet,只有當客戶端首次請求訪問時,才會被容器初始化;對于少數被設置為在Web應用啟動時就被初始化的Servlet,將在Web應用啟動時
就被容器初始化
(2)當Web 應用被終止時,所有運行中的Servlet 都被銷毀
ServletRequest 接口
HttpServletRequest 接口
(1)表示客戶請求
(2)HttpServletRequest接口表示HTTP請求
(1)容器每次接收到來自客戶端的要求訪問特定Servlet 的請求,就會創(chuàng)建一個ServletRequest 對象,并把它傳給客戶所請求的Servlet
(2)當服務器端響應請求完畢,容器就會銷毀ServletRequest 對象
?
接 口 與 類 作 用 生 命 周 期
ServletResponse 接口
HttpServletResponse 接口
(1)Servlet 通過ServletResponse 接口來生成響應結果
(2)Servlet 通過HttpServletResponse
接口來生成HTTP 響應結果
(1)容器每次接收到來自客戶端的要求訪問特定Servlet 的請求,就會創(chuàng)建一個ServletResponse 對象,并把它傳給客戶所請求的Servlet
(2)當服務器端響應請求完畢,容器就會銷毀ServletResponse 對象
ServletConfig接口 包含了Servlet 的初始化參數信息,并且與當前Web應用的ServletContext對象關聯(lián)
(1)當容器初始化一個Servlet 時,先創(chuàng)建一個ServletConfig 對象,使Servlet對象與這個ServletConfig對象關聯(lián)
(2)當容器銷毀Servlet 對象時,也會銷毀與它關聯(lián)的ServletConfig對象
ServletContext 接口 這是容器為每個Web 應用進行分配的大管家。Servlet 通過它來存取Web 應用范圍內的共享數據,還可以通過它來訪問Servlet 容器的各種資源
(1)當容器啟動一個Web 應用時,會為它創(chuàng)建一個ServletContext 對象
(2)當容器終止一個Web 應用時,會銷毀它的ServletContext 對象在Servlet接口中定義了3 個與生命周期相關的方法。
l init():當容器初始化Servlet時調用該方法。
l service():當客戶端請求訪問Servlet時,容器調用該方法。
l destroy():當容器銷毀Servlet時調用該方法。
以本章4.1.7 節(jié)的例程4-4 的HelloServlet 類為例,在編寫用于響應HTTP 請求的
Servlet時,通常涉及下列4 個步驟。
(1)擴展HttpServlet抽象類。
(2)覆蓋HttpServlet的部分方法,如覆蓋doGet()或doPost()方法。
(3)讀取HTTP 請求信息,例如通過HttpServletRequest 對象來讀取請求參數。
在HttpServletRequest中提供了以下用于檢索參數信息的方法。
l getParameter(String name):返回與參數名name 對應的參數值。
l getParameterNames():返回一個Enumeration對象,它包含了所有的參數名信息。
l getParameterValues():返回一個Enumeration對象,它包含了所有的參數值信息。
(4)生成HTTP 響應結果。通過HttpServletResponse 對象可以生成響應結果,
HttpServletResponse 對象有一個getWriter()方法,該方法返回一個PrintWriter 對象。使
用PrintWriter 的print()或println()方法可以向客戶端發(fā)送字符串數據流。
總結
以上是生活随笔為你收集整理的JAVA Servlet API简介及接口与类的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解析URI与URL之间的区别与联系
- 下一篇: centos下网络配置方法(网关、dns