分步学习Struts(三) 原理分析
生活随笔
收集整理的這篇文章主要介紹了
分步学习Struts(三) 原理分析
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? ? ? ?之前的實(shí)例演示,我們已經(jīng)基本了解了如何使用Struts框架,這次我們主要講解一下Struts框架是如何具體實(shí)現(xiàn)MVC的。
在介紹之前有幾個名詞需要大家理解一下:
? ? ? ? ActionServlet:充當(dāng)Struts框架的中央控制器 ,負(fù)責(zé)截取URL或分發(fā)? ? ? ??ActionForm:用于封裝用戶的請求參數(shù),而請求參數(shù)是通過JSP頁面的表單域傳遞過來的。
? ??? ??Action:是用戶請求和業(yè)務(wù)邏輯之間的橋梁,每個Action充當(dāng)客戶的一項(xiàng)業(yè)務(wù)代理
? ??? ??ActionForward:主要是用于存儲轉(zhuǎn)向信息,封裝轉(zhuǎn)發(fā)路徑,即完成頁面的跳轉(zhuǎn)和轉(zhuǎn)向
? ??? ??ActionMapping:存儲特定請求映射到特定Action的相關(guān)信息
了解上述幾個基本概念之后,我們看一下Struts框架的基本流程,如下圖所示:
? ??? ??1、首先客戶端發(fā)出一個request請求,將其傳遞到響應(yīng)的容器中。? ??? ??2、容器根據(jù)我們配置的Web.xml文件,將其傳遞給對應(yīng)的Servlet,這里傳遞的就是Struts的核心控制類ActionServlet,當(dāng)然傳遞的過程中肯定會有request、response對象作為參數(shù)。
? ??? ??3、ActionServlet根據(jù)截取URL,根據(jù)URL的不同取得相應(yīng)的配置信息,這些配置信息存儲在ActionMapping中(ActionServlet 初始時,完成struts-config.xml文件中的配置信息到ActionMapping對象的轉(zhuǎn)換,并將其存儲在內(nèi)存中)。
? ??? ??4、ActionServlet 會根據(jù)URL取得ActionMapping中的配置信息之后,會創(chuàng)建相應(yīng)的ActionForm和Action對象,并將頁面數(shù)據(jù)存儲到ActionForm對象。
? ??? ??5、ActionServlet會將request、response、ActionForm、ActionMapping作為參數(shù),執(zhí)行Action的execute()方法,執(zhí)行相應(yīng)的操作(可以調(diào)用Model層)。
? ??? ??6、Action執(zhí)行完畢之后,根據(jù)ActionMapping中的相關(guān)信息,完成ActionForward對象的創(chuàng)建并將其返回。
? ??? ??7、ActionServlet接受到ActionForward對象之后,會根據(jù)ActionForward中的path屬性,渲染成相應(yīng)的jsp頁面。
? ??? ??8、瀏覽器接受相應(yīng)的jsp頁面之后,將其顯示出來。
? ? ? ? 到此為止,Struts的基本實(shí)現(xiàn)過程我們已經(jīng)基本了解,下次我們根據(jù)這個流程來自己寫一個簡單的Struts框架的實(shí)例。
轉(zhuǎn)載于:https://www.cnblogs.com/zs234/archive/2013/05/13/3233356.html
總結(jié)
以上是生活随笔為你收集整理的分步学习Struts(三) 原理分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jQuery获取CSS样式中的颜色值的问
- 下一篇: [翻译]NUnit---Action A