日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

分步学习Struts(三) 原理分析

發(fā)布時間:2025/4/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分步学习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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。