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

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

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

    風(fēng)行天下

    JAVA太極
    posts - 4, comments - 10, trackbacks - 0, articles - 55
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    Struts在1.1以后的版本引入了模塊(Module)的概念,克服了1.0的并行開(kāi)發(fā)所遇到的問(wèn)題。但是模板的規(guī)劃往往又是比較麻煩,如果不注意,可能適得其反,影響你的開(kāi)發(fā)速度。下面我們看看如何去規(guī)劃一個(gè)對(duì)模塊的Struts項(xiàng)目。

    首先我們需要建立一個(gè)web的項(xiàng)目,接下來(lái)就要進(jìn)行目錄規(guī)劃。如下圖:

    1 首先確定項(xiàng)目的模塊,如此項(xiàng)目中包含兩個(gè)模塊:mFirst和mSecond,當(dāng)然還有缺省模板。

    2 本例子中考慮到使用XDoclet自動(dòng)生成Struts配置和校驗(yàn)文件,所以有些特殊性。在WEB-INF下建立兩個(gè)目錄mFirst和mSecond,用于模塊配置文件的存放。同時(shí)建立merge目錄,并包含相應(yīng)的模塊目錄,主要存放XDoclet生成Struts配置文件所需要的合并文件。模板的java源碼和測(cè)試代碼也分別存放,這樣便于管理。為了包含某些不允許從瀏覽器端直接訪問(wèn)的jsp文件,我們?cè)赪EB-INF下同時(shí)建立webpages目錄,該目錄下同時(shí)包含模塊目錄,主要存放各個(gè)模塊的受限文件。

    3 本例中為了集成方便,所有編譯后的代碼均存在同一目錄下(WEB-INF\classes),編譯后的測(cè)試代碼同樣存在同一目錄下。

    4 經(jīng)過(guò)以上的設(shè)置,為XDoclet生成配置文件提供了方便,我們的原則是同一個(gè)模塊只有一個(gè)配置文件(struts-config.xml)和校驗(yàn)文件(validation.xml)。

    5 接下來(lái)我們只需在web.xml中進(jìn)行模塊聲明即可,其他信息請(qǐng)參考struts的sample。
    <init-param>
    <param-name>config</param-name>
    <param-value>WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
    <param-name>config/mFirst</param-name>
    <param-value>WEB-INF/mFirst/struts-config.xml</param-value>
    </init-param>
    <init-param>
    <param-name>config/mSecond</param-name>
    <param-value>WEB-INF/mSecond/struts-config.xml</param-value>
    </init-param>

    6 完成這些信息以后,我們要注意一些事情:
    struts-config.xml文件中的Controller聲明,由于我們將模板的jsp文件隱藏到WEB-INF目錄下,而不是在根目錄下直接建立模板目錄,所以必須設(shè)置forwardPattern,詳細(xì)信息請(qǐng)參考Struts文檔。請(qǐng)?jiān)诿總€(gè)模塊的struts-config.xml文件中添加以下代碼,在本例中為:
    <controller forwardPattern="/WEB-INF/webpages/$M$P"/>
    在每個(gè)模塊的properties資源文件中可能都有配置Struts默認(rèn)的出錯(cuò)信息,因?yàn)檫@些模塊都是獨(dú)立的。

    7 接下來(lái)就是模塊的之間的切換問(wèn)題,因?yàn)樵诂F(xiàn)時(shí)過(guò)程必須需要解決的問(wèn)題。其實(shí)很簡(jiǎn)單,如果你想使用項(xiàng)目下絕對(duì)路徑(包含模塊目錄信息),只需將forward的contextRelative屬性值設(shè)置為true即可,這樣模塊之間切換也很容易實(shí)現(xiàn)。
    <forward contextRelative="true" name="success"
    path="/mSecond/second.do" redirect="false"/>

    8 接下來(lái)就是你的代碼啦,可能你要在編碼中適當(dāng)?shù)乜紤]到項(xiàng)目模塊之間的關(guān)系。

    總結(jié):多模塊設(shè)計(jì)不太難,但是你也的考慮周全點(diǎn),這樣會(huì)給你的開(kāi)發(fā)帶來(lái)方便。在IntelliJ IDEA下,雖然在模塊比較多的情況下目錄很亂,通過(guò)設(shè)置excluded,讓你的目錄更整潔,這樣就可以關(guān)注你的模塊。在有些情況下,取消excluded,這樣你有可以把握項(xiàng)目全局。


    評(píng)論

    # re: Struts的多模塊設(shè)計(jì)  回復(fù)  更多評(píng)論   

    2005-09-26 13:47 by angel
    請(qǐng)問(wèn)樓主是否有多模塊應(yīng)用的例子,
    若有且方便,煩請(qǐng)發(fā)一份給我,越簡(jiǎn)單越好。
    謝謝!
    oaohome1996@163.com

    # re: Struts的多模塊設(shè)計(jì)  回復(fù)  更多評(píng)論   

    2006-01-08 15:59 by Kaywa
    能發(fā)份多模塊的示例給我嗎, 多模塊老是做不出來(lái), 挺郁悶的

    謝謝!

    swpnik@gmail.com

    # re: Struts的多模塊設(shè)計(jì)  回復(fù)  更多評(píng)論   

    2006-02-21 12:54 by smallfox007
    我也想要多模塊設(shè)計(jì)的例子 能否發(fā)給我!smallfox007@hotmail.com

    # re: Struts的多模塊設(shè)計(jì)  回復(fù)  更多評(píng)論   

    2006-08-02 14:49 by 水止風(fēng)揚(yáng)
    struts-examples 就是個(gè)好例子

    # re: Struts的多模塊設(shè)計(jì)[未登錄](méi)  回復(fù)  更多評(píng)論   

    2007-05-06 16:57 by h
    是否可以把工程的目錄展示一下??
    如果可以給我一份
    heliyun03061138@163.com

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲日韩VA无码中文字幕| 国产拍拍拍无码视频免费| 亚洲免费一区二区| 免费av一区二区三区| 亚洲成a人片在线看| 96免费精品视频在线观看| 亚洲av永久综合在线观看尤物| 国产免费牲交视频| 亚洲国产av玩弄放荡人妇| 中文字幕亚洲日韩无线码| 两性刺激生活片免费视频| 又大又硬又粗又黄的视频免费看| 日韩一级在线播放免费观看| 久久99久久成人免费播放| 亚洲一卡2卡4卡5卡6卡在线99 | 久久久久一级精品亚洲国产成人综合AV区| 大地影院MV在线观看视频免费| 亚洲精品无码不卡在线播HE| A级毛片成人网站免费看| 亚洲乱码卡三乱码新区| 97人伦色伦成人免费视频| 一区视频免费观看| 亚洲欧洲另类春色校园网站| 亚洲熟妇中文字幕五十中出| 久久青草免费91线频观看站街| 亚洲第一第二第三第四第五第六| 久久精品国产亚洲av麻| 免费观看激色视频网站(性色)| 亚洲中文无码a∨在线观看| 亚洲日本一区二区一本一道| 无码日韩精品一区二区免费| 日本卡1卡2卡三卡免费| 免费视频精品一区二区| 国产精品亚洲综合久久| 免费中文字幕一级毛片| 97在线观免费视频观看| 青青草无码免费一二三区| 亚洲国产精品自在自线观看| 亚洲黄色在线播放| 亚洲国产精华液网站w| 亚洲欧洲中文日韩av乱码|