servlet是很複雜的東西,事實上,servlet就是一個Java接口,interface! 打開idea,ctrl shift n,搜尋servlet,就可以看到是一個只有5個方法的interface!
#那servlet是幹嘛的?
很簡單,介面的作用是什麼?規範唄!
servlet介面定義的是一套處理網路請求的規範,所有實作servlet的類,都需要實作它那五個方法,
其中最主要的是兩個生命週期方法init()和destroy(),還有一個處理請求的service(),也就是說,
所有實作servlet介面的類,或者說,所有想要處理網路請求的類,
都需要回答這三個問題:
你初始化時要做什麼
你銷毀時要做什麼
你接受到請求時要做什麼
這是Java給的一種規格!就像阿西莫夫的機器人三大定律、行屍走肉裡Rick的那三個問題一樣,規範!
servlet是一個規範,那實作了servlet的類,就能處理請求了嗎?
答案是,不能。
你可以隨便谷歌一個servlet的hello world教程,裡面都會讓你寫一個servlet,相信我,你從來不會在servlet中寫什麼監聽8080端口的代碼,servlet不會直接和客戶端打交道!
那請求怎麼來到servlet呢?
答案是servlet容器,例如我們最常用的tomcat,同樣,你可以隨便谷歌一個servlet的hello world教程,裡面肯定會讓你把servlet部署到一個容器中,不然你的servlet壓根不會起作用。
tomcat才是與客戶端直接打交道的傢伙,他監聽了端口,請求過來後,根據url等信息,確定要將請求交給哪個servlet去處理,然後調用那個servlet的service方法, service方法回傳一個response對象,tomcat再把這個response回傳給客戶端。
以上是Servlet的功能是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!