在我們討論Servlet API時,我們已經討論了一些Generic Servlet。在這篇文章中,我們將詳細探討一下Generic Servlet。
通用servlet是協議無關的Servlet, 需要重寫service()方法來處理客戶端請求。service()方法接受兩個參數,ServletRequest對象和ServletResponse對象。request對象告訴servlet客戶端請求信息,response對象返回客戶端響應。
Generic Servlet 如何工作的?
(image)[https://beginnersbook.com/wp-content/uploads/2013/05/Generic_Servlet.jpg]
Generic Service 繼承結構
java.lang.Object
|_extended byjavax.servlet.GenericServlet
GenericServlet 是抽象類,只有一個抽象方法,就是service()。這就是爲什麼當我們通過擴張GenericServlet類創建通用servlet,我們必須重寫service()方法。
使用Generic Service 的優點
1) 通用Servlet很容易寫
2) 有簡單的生命週期方法
3) 寫通用Servlet只需要擴張javax.servlet.GenericServlet,重寫service()方法。
使用Generic Servlet的確定
使用通用Servlet並不是很簡單,因爲沒有類似Http Servlet中的doGet(),doPost()等方法。在HttpServlet中對於一般的請求,我們重寫這些方便的方法即可,例如,如果需要get信息,只需要重寫doGet()方法,如果需要發送信息給服務器就重寫doPost()方法。然而,在Generic Servlet中,我們只能爲每種類型的請求重寫service()方法,這是比較麻煩的。
我建議使用HttpServlet而不是GenericServlet.HttpServlet是更簡單使用,比GenericServlet有更多方法。