終于懂了老師的線條是怎么串的了。學(xué)了兩次struts,第一次幾乎看不懂,現(xiàn)在才知道,當(dāng)初跑偏了。既然是mvc框架,那就是處理mvc之間的關(guān)系。沿著這一條線,自然就很好理解了。前面講的主要是從地址欄說起,講vc之間如何配合,后面再引入m,談三者關(guān)系。以及之間的各種方法,最優(yōu)解。說真的,不要再不懂得時(shí)候評(píng)價(jià)一個(gè)東西。當(dāng)你到了那個(gè)境界,你自然知道別人為什么這么安排,它的利與弊,優(yōu)勢與缺點(diǎn)一目了然。
2016-11-06
我來解釋(逗逼)一下,案例代碼的命名太具迷惑性了,不易理解struts執(zhí)行流程
1.收到頁面請(qǐng)求/HelloWorld/name1_name2_… .action后,用name1_name2_…匹配<action>的屬性name="*_*_…",并用name1代替所有{1},name2代替所有{2}…以此類推
2.執(zhí)行對(duì)應(yīng)<action>的對(duì)應(yīng)class的對(duì)應(yīng)method,得到返回值value
用返回值匹配<result>的屬性name,若精確匹配則返回對(duì)應(yīng)視圖jsp給用戶;若匹配失敗,如果返回值是SUCCESS則返回默認(rèn)jsp,如果是NONE則返回空jsp,如果是ERROR則顯示錯(cuò)誤頁面
1.收到頁面請(qǐng)求/HelloWorld/name1_name2_… .action后,用name1_name2_…匹配<action>的屬性name="*_*_…",并用name1代替所有{1},name2代替所有{2}…以此類推
2.執(zhí)行對(duì)應(yīng)<action>的對(duì)應(yīng)class的對(duì)應(yīng)method,得到返回值value
用返回值匹配<result>的屬性name,若精確匹配則返回對(duì)應(yīng)視圖jsp給用戶;若匹配失敗,如果返回值是SUCCESS則返回默認(rèn)jsp,如果是NONE則返回空jsp,如果是ERROR則顯示錯(cuò)誤頁面
2016-11-06
MVC是一種架構(gòu)型模式。在MVC模式中,應(yīng)用程序被劃分成模型(Model)、視圖(View)和控制器(Controller)三個(gè)部分,MVC模式的這三個(gè)部分的職責(zé)非常明確,而且相互分離,每個(gè)部分都可以獨(dú)立的改變而不影響其他部分,大大提高了應(yīng)用的靈活性和重用性。Struts2是基于MVC的輕量級(jí)的web應(yīng)用框架,所謂框架:就是能完成一定功能的半成品軟件。在沒有框架的時(shí)候,所有的工作都要乖乖的從零做起;有了框架,它為我們提供了一定的功能,就可以在框架的基礎(chǔ)上做起,大大提高開發(fā)的效率和質(zhì)量。很明顯,一個(gè)是一種設(shè)計(jì)模式,一個(gè)web應(yīng)用框架,但是struts2框架運(yùn)用了MVC這種模式
2016-11-05
雖然我也是菜鳥,但也想分享一點(diǎn)經(jīng)驗(yàn),嘻嘻
1,配置的xml要寫對(duì),可以在apps blank里面找寫好的
2,運(yùn)行tomcat時(shí)出錯(cuò)可能是包沖突或者少了包,可以在apps里面(也是blank)打開lib,把包拷貝到你的項(xiàng)目lib中
3,考了包那些再次運(yùn)行tomcat可以先把tomcat重發(fā)布的項(xiàng)目刪除了再發(fā)布運(yùn)行
1,配置的xml要寫對(duì),可以在apps blank里面找寫好的
2,運(yùn)行tomcat時(shí)出錯(cuò)可能是包沖突或者少了包,可以在apps里面(也是blank)打開lib,把包拷貝到你的項(xiàng)目lib中
3,考了包那些再次運(yùn)行tomcat可以先把tomcat重發(fā)布的項(xiàng)目刪除了再發(fā)布運(yùn)行
2016-11-02