十、Servlet、HttpServlet、ServletRequest、HttpServletRequest、Request的聯(lián)系和區(qū)別

1、注意servlet的參數(shù)設(shè)置和路徑跳轉(zhuǎn)問題。

2、servlet理論上可以處理多種形式的請求響應(yīng)形式,http只是其中之一。所以HttpServletRequest、HttpServletResponse分別是ServletRequest和ServletResponse的子類。

3、HttpServletRequest比ServletRequest多了一些針對于Http協(xié)議的方法。如getHeader(),getSession()、getMethod()等。

4、所謂的request其實只是規(guī)范中的一個名稱而已。它當(dāng)然是一個對象,但它是由各個不同的Servlet提供商編寫的,只是規(guī)定這個類要實現(xiàn)HttpServletRequest接口,并且規(guī)定了各個方法的用途,但具體是什么類是由各個提供商自己決定的。


5、Servlet框架:這個框架是由兩個Java包組成:java.servlet和javax.servlet.http。在java.servlet包中定義了所有的Servlet類都必須實現(xiàn)或擴(kuò)展的通用接口和類。在javax.servlet.http包中定義了采用HTTP通信協(xié)議的HttpServlet類。

6、Servlet的框架的核心是javax.servlet.Servlet接口,所有的Servlet都必須實現(xiàn)這一接口.在Servlet接口中定義了5個方法,其中有3個方法代表了Servlet的聲明周期:
init方法,負(fù)責(zé)初始化Servlet對象
service方法,負(fù)責(zé)相應(yīng)客戶的請求
destory方法,當(dāng)Servlet對象退出聲明周期時,負(fù)責(zé)釋放占有的資源

7、 Servlet接口SUN公司定義了兩個默認(rèn)實現(xiàn)類,分別為:GenericServlet、HttpServlet。HttpServlet是GenericServlet的子類,又是在GenericServlet的基礎(chǔ)上做了增強(qiáng)。

8、HttpServlet指能夠處理HTTP請求的servlet,它在原有Servlet接口上添加了一些與HTTP協(xié)議處理方法,它比Servlet接口的功能更為強(qiáng)大。因此開發(fā)人員在編寫Servlet時,通常應(yīng)繼承這個類,而避免直接去實現(xiàn)Servlet接口。

9、HttpServlet在實現(xiàn)Servlet接口時,覆寫了service方法,該方法體內(nèi)的代碼會自動判斷用戶的請求方式,如為GET請求,則調(diào)用HttpServlet的doGet方法,如為Post請求,則調(diào)用doPost方法。因此,開發(fā)人員在編寫Servlet時,通常只需要覆寫doGet或doPost方法,而不要去覆寫service方法。

10、
接口:Servlet、ServletConfig、ServletRequest、ServletResponse、HttpServletRequest、HttpServletResponse、ServletContext
類:HttpServlet(抽象類)、GenericServlet(抽象類)

image.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容