首頁技術文章正文

Java培訓之Servlet底層原理

更新時間:2017-05-31 來源:黑馬程序員Java培訓學院 瀏覽量:

我們知道,當用在客戶端訪問Servlet時,是通過Servlet在web.xml文件配置的訪問路徑訪問的。那么這一個過程又是如何實現(xiàn)的,服務器又是如何通過訪問路徑找到Servlet類?下面通過一張圖來了解這一個過程,如圖1-1所示:
1553760115237_1496214744920048652.png由圖1-1可知,服務器從客戶端訪問Servlet開始,所做的一系列操作?,F(xiàn)在根據(jù)這個圖,我們來進行詳細分析,具體如下所示:
(1)服務器根據(jù)客戶端的訪問路徑,獲得Servlet的訪問路徑;
(2)服務器拿著這個路徑去web.xml中進行匹配,這個過程需要對web.xml解析;
(3)匹配成功后,會找到相應的<servlet-class>標簽,其值為Servlet的類名,可以通過反射獲得該Servlet的Class對象;
(4)然后調用Class對象的newInstance()方法,實例化一個Servlet對象,注意一定要為Servlet提供一個無參的構造方法;
(5)利用反射獲得service()方法的Method對象,然后調用service()方法,即執(zhí)行method.invoke(Servlet實例,參數(shù)的Class對象),這樣就實現(xiàn)了service()方法的執(zhí)行。
以上就是客戶端訪問Servlet的底層原理,需要大家結合反射的知識,以及xml解析的知識去理解。

本文版權歸黑馬程序員Java培訓學院所有,歡迎轉載,轉載請注明作者出處。謝謝!
作者:黑馬程序員Java培訓學院
首發(fā):http://javaee.itheima.com/
分享到:
在線咨詢 我要報名
和我們在線交談!