servlet學習筆記(一)

servlet簡介

serv-let ,顧名思義,是一個服務(wù)器組件针史,運行于服務(wù)器端碟狞,由servlet容器所管理,用于生成動態(tài)內(nèi)容族沃。servlet是一個獨立于平臺和協(xié)議的Java類,編寫一個servlet實際是按照servlet規(guī)范編寫一個特殊的java類智润,該類被編譯成平臺獨立的字節(jié)碼,動態(tài)地支持java技術(shù)的服務(wù)器端

servlet容器

servlet容器锯玛,也稱為servlet引擎兼蜈,是web服務(wù)器或應(yīng)用服務(wù)器的一部分。servlet不能獨立運行为狸,必須部署到servlet容器中運行辐棒,由servlet容器實例化和調(diào)用servlet方法,servlet容器在servlet生命周期內(nèi)包含和管理servlet漾根。常見的servlet容器有tomcat、web logic等

servlet和servlet容器的關(guān)系

servlet容器是servlet的運行環(huán)境逼蒙,它的作用是負責處理用戶請求寄疏,當接受到用戶的請求時,調(diào)用某個servlet妖泄,并把servlet的執(zhí)行結(jié)果返回給用戶

web.xml和servlet容器的關(guān)系

web.xml是servlet容器內(nèi)一個負責描述服務(wù)器請求地址和servlet對應(yīng)關(guān)系的文件

servlet的生命周期

1.通過servlet容器創(chuàng)建并實例化servlet對象
2.調(diào)用init()方法初始化servlet
3.調(diào)用service()方法處理客戶端請求
4.調(diào)用destroy()方法銷毀servlet

servlet容器在捕獲到客戶端的請求之后做了什么艘策?

1.接收到客戶端請求后,在servlet隊列中檢索是否已經(jīng)創(chuàng)建過該對象罚渐,是則執(zhí)行第4步驯妄,否則執(zhí)行第2步
2.通過web.xml 文件找到對應(yīng)類的地址,加載并實例化該對象
3.調(diào)用initial()方法初始化該servlet
4.將客戶端的請求信息封裝進HttpServletRequest對象并將創(chuàng)建一個代表響應(yīng)信息HttpServletResponse的對象源织,通過service()傳遞這兩個參數(shù)到servlet中5當servlet容器停止運行時,調(diào)用destroy()方法后卸載servlet

PS1:在service的生命周期里谈息,init()方法和destroy()方法僅調(diào)用一次,而service()方法可以調(diào)用多
PS2:servlet一次創(chuàng)建后被容器存在在隊列中轻姿,可以多次調(diào)用逻炊,直到容器停止運行這些servlet被垃圾回收


web.xml詳解

web.xml文件示例

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> 
<web-app> 
  <servlet>  
    <servlet-name>Test</servlet-name>
    <servlet-class>moreservlets.TestServlet</servlet-class> 
  </servlet> 
  <servlet-mapping>
    <servlet-name>Test</servlet-name>
    <url-pattern>/abc</url-pattern>
  </servletmapping> 
</web-app> 
  • web的xml文件必須以一個xml頭開始,在這個頭文件中可以聲明xml版本和字符編碼
  • 其后必須緊跟DOCTYPE聲明豹休,這個聲明告訴服務(wù)器適用的servlet規(guī)范并并指定管理此文件其余部分內(nèi)容的語法的DTD(Document Type Definition桨吊,文檔類型定義)
  • 所有部署描述符的根文件是<web-app>并最終以 </web-app>結(jié)束
  • <servlet>聲明一個sevlet
  • <servlet-name>指定servlet的名字
  • <servlet-class>指定servlet對應(yīng)的類文件
  • <servlet-mapping>從URL到servlet的印射
  • <servlet-name>對應(yīng)定義上的servlet-name
  • <url-pattern>指定URL模式屏积,該模式適用通配符
  • <welcome-file-list>通過<welcome-file>指定當URL訪問項目時未填路徑時訪問的缺省值

本文章為小白的學習筆記磅甩,有任何錯誤歡迎指出,謝謝大家

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末渣聚,一起剝皮案震驚了整個濱河市僧叉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瓶堕,老刑警劉巖郎笆,帶你破解...
    沈念sama閱讀 212,599評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異激捏,居然都是意外死亡凄吏,警方通過查閱死者的電腦和手機闰蛔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評論 3 385
  • 文/潘曉璐 我一進店門图柏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人难咕,你說我怎么就攤上這事距辆。” “怎么了跨算?”我有些...
    開封第一講書人閱讀 158,084評論 0 348
  • 文/不壞的土叔 我叫張陵诸蚕,是天一觀的道長。 經(jīng)常有香客問我坏瘩,道長漠魏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,708評論 1 284
  • 正文 為了忘掉前任柱锹,我火速辦了婚禮哪自,結(jié)果婚禮上禁熏,老公的妹妹穿的比我還像新娘。我一直安慰自己瞧毙,他們只是感情好,可當我...
    茶點故事閱讀 65,813評論 6 386
  • 文/花漫 我一把揭開白布撑柔。 她就那樣靜靜地躺著您访,像睡著了一般。 火紅的嫁衣襯著肌膚如雪檀训。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,021評論 1 291
  • 那天渗鬼,我揣著相機與錄音荧琼,去河邊找鬼。 笑死命锄,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的镐侯。 我是一名探鬼主播驶冒,決...
    沈念sama閱讀 39,120評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼崇猫!你這毒婦竟也來了需忿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,866評論 0 268
  • 序言:老撾萬榮一對情侶失蹤汞扎,失蹤者是張志新(化名)和其女友劉穎擅这,沒想到半個月后景鼠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,308評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡溯香,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,633評論 2 327
  • 正文 我和宋清朗相戀三年玫坛,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片湿镀。...
    茶點故事閱讀 38,768評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡勉痴,死狀恐怖赫模,靈堂內(nèi)的尸體忽然破棺而出蒸矛,到底是詐尸還是另有隱情,我是刑警寧澤斩祭,帶...
    沈念sama閱讀 34,461評論 4 333
  • 正文 年R本政府宣布磁玉,位于F島的核電站,受9級特大地震影響席赂,放射性物質(zhì)發(fā)生泄漏时迫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,094評論 3 317
  • 文/蒙蒙 一癞揉、第九天 我趴在偏房一處隱蔽的房頂上張望溺欧。 院中可真熱鬧,春花似錦姐刁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至屎蜓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間辆苔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評論 1 267
  • 我被黑心中介騙來泰國打工乎婿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留街佑,地道東北人。 一個月前我還...
    沈念sama閱讀 46,571評論 2 362
  • 正文 我出身青樓森逮,卻偏偏與公主長得像磁携,于是被迫代替她去往敵國和親褒侧。 傳聞我的和親對象是個殘疾皇子谊迄,可洞房花燭夜當晚...
    茶點故事閱讀 43,666評論 2 350

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理统诺,服務(wù)發(fā)現(xiàn),斷路器婿失,智...
    卡卡羅2017閱讀 134,637評論 18 139
  • 從三月份找實習到現(xiàn)在啄寡,面了一些公司,掛了不少挺物,但最終還是拿到小米、百度嵌溢、阿里蹋岩、京東学少、新浪剪个、CVTE、樂視家的研發(fā)崗...
    時芥藍閱讀 42,218評論 11 349
  • 0 系列目錄# WEB請求處理 WEB請求處理一:瀏覽器請求發(fā)起處理 WEB請求處理二:Nginx請求反向代理 本...
    七寸知架構(gòu)閱讀 13,921評論 22 190
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法乎折,類相關(guān)的語法侵歇,內(nèi)部類的語法,繼承相關(guān)的語法惕虑,異常的語法,線程的語...
    子非魚_t_閱讀 31,602評論 18 399
  • http://weibo.com/p/230418473d53360102vcjd今天無意間在豆瓣看到王小波小組里...
    boxfox閱讀 2,081評論 0 1