|
比如,在瀏覽器地址欄輸入 http://ip:port/web01/hello step1,瀏覽器依據(jù)ip,port建立與servlet容器(容器同時(shí) 也是一個(gè)簡(jiǎn)單的web服務(wù)器)之間的連接。 step2,瀏覽器將請(qǐng)求數(shù)據(jù)打包(按照http協(xié)議,該數(shù)據(jù)包 也稱為請(qǐng)求數(shù)據(jù)包)。 step3,瀏覽器發(fā)送請(qǐng)求數(shù)據(jù)包給容器。 step4,容器收到請(qǐng)求數(shù)據(jù)包之后,解析該數(shù)據(jù)包,并將 解析之后得到的數(shù)據(jù)封裝到request對(duì)象上,同時(shí),容器 還要?jiǎng)?chuàng)建response對(duì)象。 step5,容器要依據(jù)請(qǐng)求資源路徑('/web01/hello')找到 servlet的配置,然后創(chuàng)建servlet對(duì)象。 step6,容器調(diào)用servlet對(duì)象的service方法。容器會(huì)將事先 創(chuàng)建好的request,response作為參數(shù)傳遞給service方法。 step7,在service方法里面,可以通過(guò)request對(duì)象獲得 請(qǐng)求參數(shù),并進(jìn)行相應(yīng)的處理,處理結(jié)果會(huì)放到response對(duì)象 里面。 step8,容器從response對(duì)象中取出處理結(jié)果,然后打包( 按照http協(xié)議,該數(shù)據(jù)包稱之為響應(yīng)數(shù)據(jù)包)。然后將 響應(yīng)數(shù)據(jù)包發(fā)送給瀏覽器。 step9,瀏覽器收到響應(yīng)數(shù)據(jù)包之后,解析處理結(jié)果,然后生成 相應(yīng)的頁(yè)面。 |
|
|