一、什么是servlet?
servlet = server applet
二、servlet本質(zhì)
本質(zhì)上是java代碼,和以前寫的java代碼有些許的不同:
1.實現(xiàn)了特殊的接口、或繼承了特殊的java類
2.servlet不能由程序員去執(zhí)行,由支持servlet的web服務(wù)器運行
3.一個Servlet負(fù)責(zé)對應(yīng)的一個或一組URL訪問請求,并返回相應(yīng)的響應(yīng)內(nèi)容。
三、servlet的運行流程
1.瀏覽器在地址欄中指定url,發(fā)起一個請求
2.服務(wù)器根據(jù)url的內(nèi)容,進(jìn)行解析,找到對應(yīng)的servlet
3.serlvet執(zhí)行代碼,并返回數(shù)據(jù)給服務(wù)器
4.服務(wù)器將數(shù)據(jù)返回給瀏覽器
5.瀏覽器解析數(shù)據(jù),展示數(shù)據(jù)
四、servlet的生命周期
1.載入并初始化
調(diào)用init()方法,只執(zhí)行一次
2.運行
當(dāng)用戶請求該servlet時,服務(wù)器創(chuàng)建一個新的線程,調(diào)用servlet的service方法-->父類的service方法-->父類的doPost/父類doGet方法
1)當(dāng)執(zhí)行父類的doGet/doPost時,會報405錯誤。解決辦法:在子類中重寫doGet/doPost
2)盡量不要在servlet中使用成員變量
3.銷毀
在服務(wù)器關(guān)閉之前,調(diào)用destroy()方法,只執(zhí)行一次