更新時(shí)間:2022-12-29 來(lái)源:黑馬程序員 瀏覽量:
JSP Model1雖然將數(shù)據(jù)和部分的業(yè)務(wù)邏輯從JSP頁(yè)面中分離了出去,但是JSP頁(yè)面仍然需要負(fù)責(zé)流程控制和產(chǎn)生用戶界面,對(duì)于一個(gè)業(yè)務(wù)流程復(fù)雜的大型應(yīng)用程序來(lái)說(shuō),在JSP頁(yè)面中依舊會(huì)嵌入大量的Java代碼,這樣會(huì)給項(xiàng)目管理帶來(lái)很大的麻煩。為了解決這樣的問(wèn)題,Sun公司在Model1的基礎(chǔ)上又提出了JSP Model2架構(gòu)模型。
JSP Model2架構(gòu)模型采用JSP+Servlet+JavaBean的技術(shù),此技術(shù)將原本JSP頁(yè)面中的流程控制代碼提取出來(lái),封裝到Servlet中,從而實(shí)現(xiàn)了整個(gè)頁(yè)面程序頁(yè)面顯示、流程控制和業(yè)務(wù)邏輯的分離。實(shí)際上JSP Model2模型就是MVC(模型Model-視圖 View-控制器Controller)設(shè)計(jì)模式,其中控制器的角色由Servlet實(shí)現(xiàn),視圖的角色由JSP頁(yè)面實(shí)現(xiàn),模型的角色由JavaBean實(shí)現(xiàn)。JSP Model2的工作原理如圖11-4所示。
從圖11-14中可以看出,Servlet充當(dāng)了控制器的角色,它首先接收瀏覽器發(fā)送的請(qǐng)求,然后根據(jù)請(qǐng)求信息實(shí)例化JavaBean對(duì)象用于封裝操作數(shù)據(jù)庫(kù)后返回的數(shù)據(jù),最后選擇相應(yīng)的JSP頁(yè)面將響應(yīng)結(jié)果顯示在瀏覽器中。
圖11-14 JSP Model2模型的工作原理