開學(xué)第一周在匆匆忙忙的腳步中過去了!下了一周的雨也終于停了,第一個(gè)周末,也沒什么大事情,就拿struts來開開涮吧!
          說干就干!因?yàn)樽约阂郧耙呀?jīng)看過一點(diǎn)struts,并且做過一個(gè)小例子(記得以前好像有個(gè)wizard,就是教你一步步用struts)。但還沒有深入它的代碼,對(duì)它的流程當(dāng)時(shí)了解過,不過現(xiàn)在忘了,唉,歲月不饒人,不服老不行,看著記性!
          先把struts做個(gè)Introduction吧,正好在介紹的同時(shí)也給自己一個(gè)整理的機(jī)會(huì),看了一天了,整理一下思路吧!
          首先講到struts,就不能不提Model 2,講到Model 2就不能不提到Model 1(),其實(shí),這三者都離不開一個(gè)東西,就是java中web application里面的最基本也是最重要的東西,servlet,不錯(cuò),我認(rèn)為它是個(gè)基礎(chǔ)(個(gè)人看法:),servlet是個(gè)好東西,sun公司認(rèn)為有兩種類型的web application:1、Presentation-oriented 2、Service-oriented。隨著Web被逐漸用于deliver service,那些service providers逐漸認(rèn)識(shí)到在Web中提供動(dòng)態(tài)內(nèi)容的重要性。隨之出現(xiàn)了CGI。CGI的缺點(diǎn)我就不說啦,其實(shí)我沒大用過CGI,汗一個(gè)!不過據(jù)說是有很多缺點(diǎn)的,比如平臺(tái)相關(guān)性,lack of scalability。于是servlet適時(shí)而出了!
          關(guān)于servlet的細(xì)節(jié)我就不具體提了,我也有待學(xué)習(xí),這里之所以提到servlet,是因?yàn)閟truts中的一個(gè)核心部件就是一個(gè)servlet,所以在這里簡(jiǎn)單提一下servlet,以供讀者檢查自己是否應(yīng)該先去了解一下servlet。Model 1簡(jiǎn)單講就是只用JSP,而不用servlet,這里的用與不用,僅是對(duì)web開發(fā)人員而言,因?yàn)镴SP最終還是會(huì)被translate為servlet(這里用translate是遵照官方用詞,國(guó)內(nèi)很多書翻為編譯,個(gè)人認(rèn)為不是很恰當(dāng))。其實(shí)出現(xiàn)Model 1的原因也很簡(jiǎn)單,因?yàn)橛胹ervlet來構(gòu)造一個(gè)網(wǎng)頁(yè)不勝其煩,一堆的out.pringln(...)讓人整個(gè)感覺是手工構(gòu)造一個(gè)網(wǎng)頁(yè),在這個(gè)所見即所得的今天,我們可能永遠(yuǎn)無法想象它的繁瑣性!于是出現(xiàn)了JSP,把那些工作交給了web container,我們只需用所見即所得的tool構(gòu)造web,然后在web中適當(dāng)?shù)牡胤郊尤雑ava代碼即可。好,點(diǎn)到為止,再具體就是jsp的內(nèi)容了。但后來人們發(fā)現(xiàn),完全拋棄servlet并不是一個(gè)好的idea,其中的一個(gè)關(guān)鍵問題就是content與presentation混雜在一起,非常不利于維護(hù)和修改。于是人們又提出了結(jié)合jsp與servlet來開發(fā)web,這就是Model 2,它本質(zhì)上是經(jīng)典MVC模式的一個(gè)變種。這里推薦一篇文章Understanding JavaServer Pages Model 2 architecture ,專門介紹Model2的,希望對(duì)大家有所幫助,這也是struts官方網(wǎng)站上推薦的一篇文章!由于我們的主題是struts,所以我們就不細(xì)談這篇文章了。
          當(dāng)然我也希望讀者對(duì)MVC模式有所了解,如果否,請(qǐng)看MVC的源頭。了解一下它吧,一個(gè)很好的東東!
          好,準(zhǔn)備東西講完了,我們下面開始看struts!
          struts從結(jié)構(gòu)上講是符合Model2的,先簡(jiǎn)單介紹一下它的情況,它的目的就是要解決Model 1中的flow control的問題,并使得內(nèi)容(Model)與表現(xiàn)(View)徹底分離。Struts是在2000年5月由Craig R. McClanahan發(fā)起的。并在2001年7月發(fā)布了1.0版。(休息一下)
          posted on 2006-02-18 21:06 未來刀客 閱讀(246) 評(píng)論(0)  編輯  收藏 所屬分類: 技術(shù)隨筆

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 梁山县| 桦川县| 锦屏县| 五华县| 雷州市| 定远县| 册亨县| 芮城县| 北海市| 新源县| 扬州市| 长垣县| 美姑县| 肃宁县| 嫩江县| 缙云县| 壤塘县| 内乡县| 黑水县| 博爱县| 堆龙德庆县| 娄烦县| 黄骅市| 囊谦县| 娄底市| 松滋市| 达拉特旗| 灵石县| 屏山县| 辛集市| 双流县| 冀州市| 洪湖市| 清涧县| 虹口区| 姜堰市| 聊城市| 西安市| 会东县| 历史| 华池县|