什么是Servlet
目錄
一.Servlet定義
二.Servlet方法
三.GenericServlet抽象類
四.HttpServlet抽象類
五.Servlet生命周期
六.Server 創(chuàng)建一個(gè) Servlet的實(shí)例
一.Servlet定義
Servlet(Server Applet)是Java?Servlet的簡稱,稱為小服務(wù)程序或服務(wù)連接器,用Java編寫的服務(wù)器端程序,具有獨(dú)立于平臺和協(xié)議的特性,主要功能在于交互式地瀏覽和生成數(shù)據(jù),生成動態(tài)Web內(nèi)容。
狹義的Servlet是指Java語言實(shí)現(xiàn)的一個(gè)接口,廣義的Servlet是指任何實(shí)現(xiàn)了這個(gè)Servlet接口的類,一般情況下,人們將Servlet理解為后者。Servlet運(yùn)行于支持Java的應(yīng)用服務(wù)器中。從原理上講,Servlet可以響應(yīng)任何類型的請求,但絕大多數(shù)情況下Servlet只用來擴(kuò)展基于HTTP協(xié)議的Web服務(wù)器。
最早支持Servlet標(biāo)準(zhǔn)的是JavaSoft的Java?Web Server,此后,一些其它的基于Java的Web服務(wù)器開始支持標(biāo)準(zhǔn)的Servlet。
Servlet就是java中處理http請求的技術(shù)。
二.Servlet方法
1.init方法:初始化Servlet
2.service方法:處理http請求,并返回響應(yīng)
有兩個(gè)參數(shù) 1.請求:request 2.響應(yīng):response
3.destory方法:銷毀Servlet
三.GenericServlet抽象類
是一個(gè)抽象類,實(shí)現(xiàn)了Servlet接口.
四.HttpServlet抽象類
是GennricServlet的子類,與HTTP有關(guān),沒有實(shí)現(xiàn)init和destory,主要是對service方法的重寫
五.Servlet生命周期
客戶端請求該 Servlet;
加載 Servlet 類到內(nèi)存;
實(shí)例化并調(diào)用init()方法初始化該 Servlet;
service()(根據(jù)請求方法不同調(diào)用doGet() 或者 doPost(),此外還有doHead()、doPut()、doTrace()、doDelete()、doOptions()、destroy())。
加載和實(shí)例化 Servlet。這項(xiàng)操作一般是動態(tài)執(zhí)行的。然而,Server 通常會提供一個(gè)管理的選項(xiàng),用于在 Server 啟動時(shí)強(qiáng)制裝載和初始化特定的 Servlet。
六.Server 創(chuàng)建一個(gè) Servlet的實(shí)例
第一個(gè)客戶端的請求到達(dá) Server
Server 調(diào)用 Servlet 的 init() 方法(可配置為 Server 創(chuàng)建 Servlet 實(shí)例時(shí)調(diào)用,在 web.xml 中 標(biāo)簽下配置 標(biāo)簽,配置的值為整型,值越小 Servlet 的啟動優(yōu)先級越高)
一個(gè)客戶端的請求到達(dá) Server
Server 創(chuàng)建一個(gè)請求對象,處理客戶端請求
Server 創(chuàng)建一個(gè)響應(yīng)對象,響應(yīng)客戶端請求
Server 激活 Servlet 的 service() 方法,傳遞請求和響應(yīng)對象作為參數(shù)
service() 方法獲得關(guān)于請求對象的信息,處理請求,訪問其他資源,獲得需要的信息
service() 方法使用響應(yīng)對象的方法,將響應(yīng)傳回Server,最終到達(dá)客戶端。service()方法可能激活其它方法以處理請求,如 doGet() 或 doPost() 或程序員自己開發(fā)的新的方法。
對于更多的客戶端請求,Server 創(chuàng)建新的請求和響應(yīng)對象,仍然激活此 Servlet 的 service() 方法,將這兩個(gè)對象作為參數(shù)傳遞給它。如此重復(fù)以上的循環(huán),但無需再次調(diào)用 init() 方法。一般 Servlet 只初始化一次(只有一個(gè)對象),當(dāng) Server 不再需要 Servlet 時(shí)(一般當(dāng) Server 關(guān)閉時(shí)),Server 調(diào)用 Servlet 的 destroy() 方法。
如圖1所示顯示了一個(gè)典型的 Servlet 生命周期方案:
圖1:典型的 Servlet 生命周期
?
1.第一個(gè)到達(dá)服務(wù)器的 HTTP 請求被委派到 Servlet 容器。
2.Servlet 容器在調(diào)用 service() 方法之前加載 Servlet。
3.然后 Servlet 容器處理由多個(gè)線程產(chǎn)生的多個(gè)請求,每個(gè)線程執(zhí)行一個(gè)單一的 Servlet 實(shí)例的 service() 方法。
總結(jié)
以上是生活随笔為你收集整理的什么是Servlet的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 下拉框_教你封装 Element Tre
- 下一篇: php ajax session死锁,s