• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

        運(yùn)用JavaBean高效處理JSP(1)

        運(yùn)用JavaBean高效處理JSP(1)

        更新時(shí)間:2022-05-07 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

        摘要:JavaServer Pages Model II的一個(gè)基本思想就是將表現(xiàn)(HTML)和處理邏輯分開(kāi)。這篇文章介紹的是一個(gè)高效、可重用的設(shè)計(jì)方法,將動(dòng)態(tài)的內(nèi)容、處理和驗(yàn)證由JavaServer Page中分離出來(lái),放到一個(gè)相應(yīng)的JavaBean中。它使用Template Method的設(shè)計(jì)方法,可提高代碼在整個(gè)Web應(yīng)用中的重用性。此外,它還介紹了在一個(gè)HTTP Session中bean間如何通信的簡(jiǎn)單技巧。

          JavaServer Pages(JSP)技術(shù)提供了許多的特性,可讓你簡(jiǎn)易和快速地開(kāi)發(fā)Web應(yīng)用。不過(guò),如果你無(wú)計(jì)劃和結(jié)構(gòu)地使用這些技術(shù),你的JSP代碼將會(huì)是各種HTML標(biāo)記、JSP標(biāo)記和Java代碼的混合,很難于看懂、調(diào)試和維護(hù)。

          這里的目標(biāo)是將全部的JSP處理代碼封裝到JavaBean中。這種方法的好處是HTML編程者和美工可以做表現(xiàn)的開(kāi)發(fā)(使用HTML編輯器),而Java編程者可以集中開(kāi)發(fā)編程邏輯。此外,這種方法可便于你為同一個(gè)Web應(yīng)用提供不同的外觀。

          我將介紹的架構(gòu)使用Template Method方法,可集中實(shí)現(xiàn)整個(gè)應(yīng)用的共有設(shè)計(jì)部分和實(shí)現(xiàn)每個(gè)JSP的共有處理。就這個(gè)例子,共有的處理包括有頁(yè)面狀態(tài)管理、共有的頁(yè)面處理、共有的錯(cuò)誤處理,以及在頁(yè)面間共享信息的技術(shù)。所有這些僅是定義一次,你可在頁(yè)面設(shè)計(jì)時(shí)再處理特定的細(xì)節(jié)。

          我將以一個(gè)簡(jiǎn)單的"投票"應(yīng)用為例,介紹如何使用這個(gè)架構(gòu)。你應(yīng)有基本的JSP和Java知識(shí),并且最好懂得一些UML知識(shí)。

          總的靜態(tài)結(jié)構(gòu)

          這個(gè)部分將介紹該架構(gòu)核心部分的概觀,以及投票應(yīng)用的例子。圖一顯示了該架構(gòu)的一個(gè)UML框圖:



        **************圖一*******************
        (UML類(lèi)框圖)

          該架構(gòu)的中心部分由兩個(gè)共有的JSP包含文件和兩個(gè)類(lèi)組成,下面將會(huì)談到。它們的作用是完成共有的處理。

           includeheader.jsp:這個(gè)JSP文件必須被靜態(tài)包含在每個(gè)JSP文件的開(kāi)頭。

           includefooter.jsp:這個(gè)JSP文件必須被靜態(tài)包含在每個(gè)JSP文件的末尾。

          AbstractJSPBean:這是一個(gè)抽象類(lèi),你應(yīng)該將它作為所有JSP JavaBean類(lèi)的一個(gè)超類(lèi)使用。它是該架構(gòu)的核心類(lèi)。

           SharedSessionBean:在一個(gè)HTTP session中,為所有的JSP JavaBean對(duì)象提供關(guān)聯(lián)。

          JSP網(wǎng)頁(yè)只是用作表現(xiàn)的。每個(gè)JSP頁(yè)面都應(yīng)該使用一個(gè)相應(yīng)的JavaBean來(lái)處理特定頁(yè)面的邏輯。每個(gè)JSP頁(yè)面都應(yīng)該靜態(tài)包含includeheader.jsp和includefooter.jsp。每個(gè)JavaBean都必須擴(kuò)展AbstractJSPBean,該抽象類(lèi)包含有模板方法,可完成共有的處理。

          這個(gè)投票的應(yīng)用包含有以下的JSP和相應(yīng)的JavaBean:

           login.jsp, LoginJSPBean:投票者認(rèn)證和登錄

           vote.jsp, VoteJSPBean: 執(zhí)行投票

           confirmation.jsp, ConfirmationJSPBean: 顯示確認(rèn)和投票的結(jié)果

          我將不會(huì)詳細(xì)討論數(shù)據(jù)庫(kù)和商業(yè)邏輯的部分((Voter, Candidate和VoteDB),不過(guò)它們對(duì)于這個(gè)例子是必需的。

          以上我們已經(jīng)對(duì)整體有了一個(gè)概觀,接著我們將討論例子中的每個(gè)JSP頁(yè)面。

        溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

        本類(lèi)教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 亚洲国产精品网站久久| 亚洲精品无码不卡| 香蕉视频亚洲一级| 成人人观看的免费毛片| 亚洲日韩国产一区二区三区在线 | 亚洲日本一线产区和二线| 无码免费午夜福利片在线| 亚洲欧洲日本在线观看| 成人在线免费观看| 色婷婷精品免费视频| 亚洲av无码国产精品色在线看不卡| 国产成人va亚洲电影| 亚洲精品高清一二区久久| 国产精品午夜免费观看网站| 国产亚洲A∨片在线观看| 久久久国产精品福利免费| 91亚洲国产成人久久精品| 好吊妞在线成人免费| 狠狠入ady亚洲精品| 国产成人高清亚洲| 免费国产黄网站在线观看视频| 亚洲短视频在线观看| 日本特黄特黄刺激大片免费| 亚洲免费视频一区二区三区| 亚洲v高清理论电影| 最新欧洲大片免费在线| 日日摸日日碰夜夜爽亚洲| 亚洲情XO亚洲色XO无码| 免费成人福利视频| 香蕉97碰碰视频免费| 亚洲精品你懂的在线观看| 在线看片v免费观看视频777| 亚洲AV无码AV日韩AV网站| 亚洲精品tv久久久久久久久| 国产在线观看麻豆91精品免费| 含羞草国产亚洲精品岁国产精品| 亚洲人成网7777777国产| 69成人免费视频无码专区| 韩国免费A级毛片久久| 亚洲一卡2卡3卡4卡国产网站| av无码东京热亚洲男人的天堂|