<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 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

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

    首先我們需要建立一個(gè)web的項(xiàng)目,接下來就要進(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è)試代碼也分別存放,這樣便于管理。為了包含某些不允許從瀏覽器端直接訪問的jsp文件,我們?cè)赪EB-INF下同時(shí)建立webpages目錄,該目錄下同時(shí)包含模塊目錄,主要存放各個(gè)模塊的受限文件。

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

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

    5 接下來我們只需在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 接下來就是模塊的之間的切換問題,因?yàn)樵诂F(xiàn)時(shí)過程必須需要解決的問題。其實(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 接下來就是你的代碼啦,可能你要在編碼中適當(dāng)?shù)乜紤]到項(xiàng)目模塊之間的關(guān)系。

    總結(jié):多模塊設(shè)計(jì)不太難,但是你也的考慮周全點(diǎn),這樣會(huì)給你的開發(fā)帶來方便。在IntelliJ IDEA下,雖然在模塊比較多的情況下目錄很亂,通過設(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)問樓主是否有多模塊應(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ā)份多模塊的示例給我嗎, 多模塊老是做不出來, 挺郁悶的

    謝謝!

    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ì)[未登錄]  回復(fù)  更多評(píng)論   

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

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲熟妇av一区二区三区漫画| 精品亚洲A∨无码一区二区三区| 激情五月亚洲色图| 999久久久免费精品播放| 亚洲av女电影网| 日韩免费电影网站| 亚洲黄色免费网站| 国产又大又粗又长免费视频| 777亚洲精品乱码久久久久久| 91香蕉成人免费网站| 亚洲情A成黄在线观看动漫软件 | 一个人晚上在线观看的免费视频| 亚洲AV永久无码精品一区二区国产| 国产成人综合亚洲绿色| 亚洲精品成a人在线观看| 中国人免费观看高清在线观看二区| 亚洲国产精品特色大片观看完整版| 亚洲AV男人的天堂在线观看| 欧美三级在线电影免费| 亚洲精品tv久久久久久久久| 久久久久免费精品国产| 亚洲精品高清国产麻豆专区| 成年午夜视频免费观看视频| 狼人大香伊蕉国产WWW亚洲| 日本成年免费网站| 亚洲AV第一成肉网| 亚洲va中文字幕无码久久| 四虎在线成人免费网站| 日韩色日韩视频亚洲网站| 国产亚洲人成网站在线观看不卡| 久久久久久毛片免费播放| 亚洲欧洲日产国码久在线| 亚洲日本中文字幕一区二区三区| 成人片黄网站色大片免费观看APP| 亚洲国产精品yw在线观看| 国产无遮挡又黄又爽免费视频| 成人精品视频99在线观看免费| 亚洲中文字幕人成乱码 | 成人爽a毛片免费| 亚洲永久在线观看| 亚洲一区二区三区AV无码|