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