從Servlet接口開始

? ? ? ? javax.servlet.Servlet接口定義了一些方法携取。關(guān)鍵的是其中四個:

Servlet的實現(xiàn)類在被Servlet容器創(chuàng)建之后缘揪,容器會調(diào)用init方法银亲,并自動注入ServletConfig。當(dāng)卸載Servlet實現(xiàn)類之前助泽,容器調(diào)用destory。Servlet響應(yīng)請求發(fā)生在service。此外败潦,這個接口表明,servlet自身不管理它響應(yīng)哪一個url准脂。

? ? ? ? 本來接口Servlet的直接抽象實現(xiàn)類是javax.servlet.GenericServlet变屁。但是它又實現(xiàn)了ServletConfig接口,所以先看該接口意狠。


這里最重要的是注意它可以得到ServletContext粟关。ServletContext代表了所有ServletContext的上下文,也就是簡化版的Servlet容器的意思环戈。此外闷板,在概念上明確servlet初始信息由ServletConfig提供就可以了。

? ? ? ? 下面看GenericServlet院塞,GenericServlet并無任何非凡之處遮晚,但是還是做了一些小的工作:

此處沒有給出圖片,但是GenericServlet的實例域有一個ServletConfig類型成員拦止,名為servletConfig

? ? ? ? 前面指出Servlet容器在實例化Servlet接口實現(xiàn)類后县遣,會調(diào)用init(ServletConfig)方法,并自動注入ServletConfig實現(xiàn)類汹族。這里多說一句萧求,ServletConfig的實現(xiàn)類的內(nèi)容是怎樣的,getServletName方法顶瞒、getInitParameter(String)等會返回什么信息夸政,這是根據(jù)代碼編寫者的設(shè)置決定。如何給出這些信息那是另外一個問題了榴徐。

? ? ? ? 此時只需在整體上了解到守问,當(dāng)Servlet容器決定要實例化一個Servlet實現(xiàn)類時,會根據(jù)代碼編寫者給出的信息坑资,如在web.xml中的<servlet-name>耗帕,自動的生成ServleConfig實現(xiàn)類。然后實例化Servlet實現(xiàn)類袱贮,之后調(diào)用init(ServletConfig)方法仿便,注入自動生成的ServleConfig實現(xiàn)類。

? ? ? ? 話說回來,從GenericServlet開始探越,實例域就持有一個ServletConfig類型成員狡赐。而在其Init(ServletConfig)方法中,引用容器傳入的ServletConfig钦幔。然后調(diào)用GenericServlet自己定義的Init()方法枕屉。從此以后,任何GenericServlet的子類鲤氢,在Servlet層面的初始化動作轉(zhuǎn)移到init()方法搀擂。

? ? ? ? GenericServlet的直接子類是HttpServlet。從類名可以看出這是處理以HTTP協(xié)議連接客戶端和服務(wù)器端的服務(wù)卷玉。因為HTTP設(shè)置了好幾種請求方式哨颂,因此在HttpServlet的service(HttpServletRequest,HttpServletResponse)中是根據(jù)請求方式來決定交由哪一個方法處理請求,例如doGet相种、DoPost威恼。所以,HttpServlet的子類只需要重寫好對應(yīng)的響應(yīng)方法寝并,doPost等箫措,就可以了,無需自己去實現(xiàn)將請求方式映射到處理方法衬潦。如果足夠細(xì)心斤蔓,可以看到在Servlet接口定義的Service方法的方法參數(shù)是ServletRequest和ServletResponse。在HttpServlet中還進(jìn)行了如下處理:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末镀岛,一起剝皮案震驚了整個濱河市弦牡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌漂羊,老刑警劉巖驾锰,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異拨与,居然都是意外死亡稻据,警方通過查閱死者的電腦和手機(jī)艾猜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門买喧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人匆赃,你說我怎么就攤上這事淤毛。” “怎么了算柳?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵低淡,是天一觀的道長。 經(jīng)常有香客問我,道長蔗蹋,這世上最難降的妖魔是什么何荚? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮猪杭,結(jié)果婚禮上餐塘,老公的妹妹穿的比我還像新娘。我一直安慰自己皂吮,他們只是感情好戒傻,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蜂筹,像睡著了一般需纳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上艺挪,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天不翩,我揣著相機(jī)與錄音,去河邊找鬼麻裳。 笑死慌盯,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的掂器。 我是一名探鬼主播亚皂,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼国瓮!你這毒婦竟也來了灭必?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤乃摹,失蹤者是張志新(化名)和其女友劉穎禁漓,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體孵睬,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡播歼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了掰读。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片秘狞。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蹈集,靈堂內(nèi)的尸體忽然破棺而出烁试,到底是詐尸還是另有隱情,我是刑警寧澤拢肆,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布减响,位于F島的核電站靖诗,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏支示。R本人自食惡果不足惜刊橘,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望颂鸿。 院中可真熱鬧伤为,春花似錦、人聲如沸据途。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽颖医。三九已至位衩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間熔萧,已是汗流浹背糖驴。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留佛致,地道東北人贮缕。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像俺榆,于是被迫代替她去往敵國和親感昼。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 一罐脊、基本概念 Servlet是運行在Web服務(wù)器上的小程序定嗓,通過http協(xié)議和客戶端進(jìn)行交互。這里的客戶端一般為瀏...
    小李彈花閱讀 2,714評論 0 0
  • 一藕施、Http協(xié)議 HTTP協(xié)議:超文本傳輸協(xié)議(HTTP寇损,HyperText Transfer Protocol)...
    圣賢與無賴閱讀 1,220評論 0 13
  • 本文包括: Servlet簡介關(guān)于Servlet的一些類 Servlet生命周期 ServletConfig獲得初...
    廖少少閱讀 3,845評論 1 67
  • 前言 這篇文章的出發(fā)點是為了整理Servlet相關(guān)知識點,以免在相關(guān)概念混淆或分不清的時候到處查閱資料铅碍。 一润绵、什么...
    maxwellyue閱讀 3,446評論 2 35
  • 這些天,我每天都沉浸在一種惶惶而不可終日的焦慮之中胞谈,這種焦慮就仿佛春天的柳絮一般,妄圖理清頭緒是就如同想要...
    李子樹那邊有個女孩閱讀 148評論 0 0