<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    選擇java 進(jìn)入自由開放的國度

    隨筆 - 49, 文章 - 3, 評(píng)論 - 154, 引用 - 1
    數(shù)據(jù)加載中……

    Struts學(xué)習(xí)心得之Struts流程篇(2)

        上一節(jié)我們搭建了Struts的運(yùn)行和開發(fā)環(huán)境。這一節(jié)著重講述MVC的基本概念和與使用JSP/JavaBean模式開發(fā)Web應(yīng)用的比較。
    (1)Tomcat的啟動(dòng)。
            從上一節(jié)的Tomcat的配置文件中,我們可以看到關(guān)于Struts的配置,當(dāng)Tomcat啟動(dòng)時(shí),會(huì)加載Struts的配置文件struts-config.xml,關(guān)于配置文件的內(nèi)容請(qǐng)見
     (2)JSP/JavaBean開發(fā)Web應(yīng)用
         在asp的時(shí)代,我們還沒有討論什么開發(fā)模式,也沒有顧及MVC(雖然MVC的概念早已出現(xiàn))。用asp開發(fā)不外乎以下兩種情況,一、就是直接將代碼集成到asp文件中,經(jīng)驗(yàn)多的話,會(huì)將常用的函數(shù)放至一起,引用時(shí)只需include即可;二、對(duì)于復(fù)雜的應(yīng)用,如文件上傳等,我們會(huì)用其他語音如VB、Delphi等寫一個(gè)控件(ADO即屬于此類)。
         當(dāng)java流行,JSP逐漸成熟,也正是模式、框架流行的時(shí)代,所以我們不管是看java的類庫,還是看現(xiàn)在流行的框架,無一沒有模式的存在。當(dāng)你初接觸JSP的時(shí)候,就可以看到書上說“盡量少的在jsp中插入Java代碼”,這句話已是模式運(yùn)用的端倪。
          下面我們先不管MVC,先從JSP/JavaBean來看Web的開發(fā)。這種模式很想上面提到的asp開發(fā)的第二種情況,我們將業(yè)務(wù)邏輯放到JavaBean中,只用JSP去表示頁面。
           有過asp經(jīng)驗(yàn)都知道,在接收表單數(shù)據(jù)的時(shí)候,我們不得不一個(gè)一個(gè)將數(shù)據(jù)接收過來,以至于有很長的一段如:CustomId = request("CustomId")的代碼。而在JSP中,我們不用這么繁瑣,一個(gè)我們可以用EL直接表示即可,另外我們可以利用javaBean的introspection機(jī)制。直接將表單的數(shù)據(jù)映射到j(luò)avabean的private變量中,當(dāng)然javabean中必須包含getter和setter函數(shù)(有很幸運(yùn),很多的開發(fā)工具可以自動(dòng)生成,又減少了工作量)。下面是一個(gè)示例。
           
    <jsp:useBean id="prof" scope="page" class="register.Profile" />
    <jsp:setProperty name="prof" property="*" />
           我們只要表單的action頁面中,直接插入以上代碼(這些代碼就不用解釋了吧),就可以將表單中的數(shù)據(jù)映射到register.Profile這個(gè)javabean中,所以我們可以在javabean中實(shí)現(xiàn)業(yè)務(wù)邏輯,譬如數(shù)據(jù)的插入、修改、刪除等。從而可以減小甚至消除JSP中的java代碼量。
     (3)MVC模式
         上面提到的JSP/JavaBean與MVC模式很接近,但是還有很多差別。前者,我們可以看出,在javabean中有很多的邏輯代碼,我們要控制頁面的跳轉(zhuǎn),還是要在JSP中讀取javabean中的某些標(biāo)志,嵌入java代碼來實(shí)現(xiàn),這看起來顯得有些笨拙。我們是否能在JSP和javabean中再加一層,專門來實(shí)現(xiàn)跳轉(zhuǎn)即控制頁面的輸出呢?of course,這就是MVC的思想。
          Struts就是一個(gè)實(shí)現(xiàn)MVC模式的WEB開發(fā)框架,在Struts中用JSP作為Viewer,javabean繼承自ActionForm來映射JSP表單數(shù)據(jù),用繼承自Action的類來實(shí)現(xiàn)Controller,而Model沒有特殊定義,它可以是EJB,普通Bean或者Web服務(wù),總之Model中集成了業(yè)務(wù)邏輯的實(shí)現(xiàn),在Controller中去調(diào)用,完成后Controller控制顯示頁面(jsp文件)。
         這樣一來,是不是業(yè)務(wù)流程非常的清晰?

         下面我們付諸實(shí)踐,實(shí)現(xiàn)一個(gè)用戶注冊(cè)的簡單實(shí)例!

    posted on 2005-05-03 09:35 soochow_hhb 以java論成敗 以架構(gòu)論英雄 閱讀(1603) 評(píng)論(2)  編輯  收藏 所屬分類: Struts

    評(píng)論

    # re: Struts學(xué)習(xí)心得之Struts流程篇(2)   回復(fù)  更多評(píng)論   

    期待看到下一篇~~
    我正在學(xué)習(xí)ing
    2005-05-18 10:44 | Zero

    # re: Struts學(xué)習(xí)心得之Struts流程篇(2)   回復(fù)  更多評(píng)論   

    好的。。。有點(diǎn)收獲
    2006-08-23 10:41 | 李志華
    主站蜘蛛池模板: 日韩高清在线免费观看| 国产成人精品免费视频大| 免费一级毛片在级播放| 亚洲色欲色欲www在线播放| 久久久久国色AV免费观看性色 | 你是我的城池营垒免费观看完整版 | 日本在线观看免费高清| 精品久久久久久久免费加勒比| 亚洲日韩精品无码AV海量| 成年在线观看免费人视频草莓| 亚洲性色精品一区二区在线| 午夜高清免费在线观看| 亚洲国产成人久久精品大牛影视| 国产亚洲福利一区二区免费看| 黄页网站在线观看免费| 亚洲午夜久久久久久久久久| 成全视频在线观看免费| 久久久久亚洲AV片无码下载蜜桃| 免费H网站在线观看的| 亚洲hairy多毛pics大全| www国产亚洲精品久久久| 9久热精品免费观看视频| 亚洲国产一区二区a毛片| 亚洲av无码专区在线电影天堂 | 亚洲色大成网站www永久一区| 未满十八18禁止免费无码网站| 91嫩草亚洲精品| 全黄性性激高免费视频| a级毛片免费播放| 亚洲av专区无码观看精品天堂| 国产最新凸凹视频免费| 韩日电影在线播放免费版| 亚洲精品视频在线免费| 色www永久免费网站| 亚洲一级大黄大色毛片| 亚洲精品无码久久不卡| 国产免费女女脚奴视频网| 国产产在线精品亚洲AAVV| 亚洲美女精品视频| 亚洲精品NV久久久久久久久久| 91热成人精品国产免费|