(1)在浏覽器輸入地址,浏覽器先去查找hosts文件,將主機名翻譯為ip地址,如果找不到就再去查詢dns服務器將主機名翻譯成ip地址。
(2)浏覽器根據ip地址和端口號訪問服務器,組織http請求信息發送給服務器。
(3)服務器收到請求後首先根據Host請求頭判斷當前訪問的是哪台虛擬主機。
(4)服務器根據http請求頭中的請求URI判斷當前訪問是哪個web應用。
(5)服務器根據http請求頭中的請求URI判斷當前訪問是哪個web應用中的哪個web。
(6)檢查web應用的web.xml文件,如果根據路徑找到具體的servlet處理類的全部路徑交給該servlet處理,如果找不到就交給缺省servlet處理。
(7)這個過程中浏覽器只知道自己發出來http請求,不久就收到了http響應,浏覽器不知道也不關心服務器內部是如何處理的。浏覽器和服務器之間的關系是非常單純的,只有HTTP協議。
(8)解析請求、封裝RequestResponse對象、創建Servlet、調用Servlet方法都是服務器自動進行的,開發人員只需要寫好Servlet、調用Service方法都是服務器自動進行的,我們只需要寫好Servlet配置進容器中即可。