溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Struts框架如何理解

發(fā)布時間:2022-01-11 15:06:22 來源:億速云 閱讀:100 作者:柒染 欄目:編程語言

本篇文章為大家展示了Struts框架如何理解,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

由于Struts框架在全球的廣泛使用,學(xué)習(xí)它的人也非常之多,但是大部分人花費了太多不必要的時間和精力在一些不太重要的地方,導(dǎo)致學(xué)習(xí)代價高昂,成效也不是很好。我這里根據(jù)多年培訓(xùn)經(jīng)驗的總結(jié),精心設(shè)計了一套學(xué)習(xí)Struts框架的曲線,讓大伙學(xué)習(xí)Struts框架既快且準(zhǔn),節(jié)省大伙寶貴的時間,一定會對各位學(xué)習(xí)者大有幫助。

大家知道,Struts是Apache 基金會Jakarta 項目組的一個開源項目,它采用MVC設(shè)計模式,是一個基于Sun J2EE平臺的WEB表現(xiàn)層框架。這里有幾個概念值得大家關(guān)注:開源,MVC,J2EE,WEB表現(xiàn)層,框架。我來逐一解釋。

開源:不用多說,源代碼可以讓你一行一行仔細(xì)分析,深入了解其內(nèi)部實現(xiàn)機(jī)制。

MVC:它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。

J2EE:J2EE是使用Java技術(shù)開發(fā)企業(yè)級應(yīng)用的一種事實上的工業(yè)標(biāo)準(zhǔn)。J2EE將組成一個完整企業(yè)級應(yīng)用的不同部分納入不同的容器(Container),每個容器中都包含若干組件(這些組件是需要部署在相應(yīng)容器中的),同時各種組件都能使用各種J2EE Service/API。其中最常用的容器就是WEB容器(就是我們常說的WEB服務(wù)器),里面最核心的兩個組件就是JSP和SERVLET。而Struts就是基于這兩種技術(shù),依賴于WEB容器。

WEB表現(xiàn)層:我們常說的J2EE四層體系架構(gòu):WEB表現(xiàn)層,業(yè)務(wù)邏輯層,持久層,數(shù)據(jù)庫層。這是一種邏輯劃分。WEB表現(xiàn)層的特點就是依靠WEB服務(wù)器,直接跟客戶端(一般是WEB瀏覽器)打交道。Struts處于WEB表現(xiàn)層,主要就是接受并處理用戶請求,并將處理結(jié)果響應(yīng)給用戶。

框架:通俗地講,框架就是一個“半成品”,它做了一些通用的東西讓你去配置和擴(kuò)展。框架的強(qiáng)大之處不是說它能讓你做什么,而是它不能讓你做什么!它使混亂的東西變得結(jié)構(gòu)化。我們來打個比方。框架就像是一間有很多屋梁的房子,當(dāng)你需要擴(kuò)建房子的時候,譬如增加新的房間、窗戶和過道或者在臥室增加一個壁爐,由于屋梁的限制,你并沒有什么其他的選擇。雖然較少的屋梁會讓你有更多的選擇,但是當(dāng)臺風(fēng)來襲或者發(fā)生地震的時候,你讓家人住在這樣一間只有屋頂?shù)姆孔永?,恐怕不會覺得安全吧??傊蚣苁窃诮Y(jié)構(gòu)和創(chuàng)造力之間的一個精確的天平。

好了。這里假設(shè)大家已經(jīng)理解了上述概念,并會用JSP/SERVLET做一些普通的WEB應(yīng)用程序。現(xiàn)在就讓我們來看看如何學(xué)習(xí)Struts框架吧。這里我以Struts 1.2版本為例。(Struts 2.0的實現(xiàn)跟以前的版本有很大不同,我以后會講到。)讓我們出發(fā)吧!

首先,你要照書本或者網(wǎng)上的例子跑一個最簡單的Struts應(yīng)用,就是在客戶端顯示一個HELLOWORLD的那種,這叫先睹為快。在這里你開始接觸到做Struts應(yīng)用需要的東西:Struts的JAR包,核心控制器ActionServlet在web.xml上的配置,針對具體用戶請求URL的Action的編寫以及Struts應(yīng)用的核心配置文件Struts-config.xml。做完后停下來思考一下。

然后,你開始跑一個稍微大點的用戶登陸的應(yīng)用,成功就跳轉(zhuǎn)到我們的主頁面,失敗就繼續(xù)回到登陸頁面。我們引入ActionForm組件和對后臺數(shù)據(jù)庫的操作。這個時候MVC發(fā)揮作用了。ActionServlet和自己編寫的Action分別充當(dāng)前,后端控制器組件,DAO/DTO充當(dāng)了模型組件,JSP充當(dāng)視圖組件。Struts-config.xml也變的飽滿起來,上面開始多了些配置datasources,form-beans,action-mappings。做完后到網(wǎng)上找一些好的參考資料或者利用自己經(jīng)典的Struts的案頭書(***是有圖解),開始認(rèn)真琢磨Struts的運行原理和執(zhí)行流程,特別要好生體會ActionForm組件的作用和Struts-config.xml這個核心配置文件每一處用到的配置。這個時候,你應(yīng)該開始有些領(lǐng)悟:我們自己寫的Action還有ActionForm類一定要繼承框架已有的Action和ActionForm,寫完了之后還必須得將它們配置到Struts-config.xml中去。

接著,你已經(jīng)對Struts框架有了大致的了解,可能開始對Struts的其他主題感興趣了,OK,現(xiàn)在擴(kuò)充你的登陸應(yīng)用吧。先加上驗證,不然你的系統(tǒng)會不堪一擊。驗證分為客戶端驗證和服務(wù)器端驗證。服務(wù)器端的驗證我們可以在ActionForm里面的validate()方法里做,也可以在隨后的Action類的execute()方法里做,甚至可以使用驗證框架。這里大家要把重點方在驗證框架的學(xué)習(xí)上。做好后再加上資源國際化I18N,針對不同區(qū)域不同語言的客戶提供不同語言版本的頁面顯示。我們開始寫資源屬性文件,開始在Struts-config.xml里面配置,開始使用Struts自帶的標(biāo)簽,等。這個里面涉及的知識點都很多,需要大家耐心細(xì)致地學(xué)習(xí)。大家在跑這個應(yīng)用的時候會發(fā)現(xiàn)各種各樣的異常和問題。不要害怕,這些錯誤都是我們的好朋友,我們要把它們通通都記錄下來,并堅韌地排除掉它們。這里要記住:盡量避免重復(fù)犯錯,不要在同一個地方跌倒兩次。

上述內(nèi)容就是Struts框架如何理解,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI