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

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

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

    好·色之徒
    已經轉移到 好·色之徒--我的博客、我的生活
    ?
    從配置文件說起
    在WEB-INF/config下有多種配置文件,這里作個介紹,對項目的開發很有意義
    主要涉及到了struts(struts-config文件夾下) 、spring(app-config文件夾下) 、struts和spring的結合處理(action-servlets-config文件夾下) 、 模版技術(tiles-config文件夾下) 、驗證技術(validation-config文件夾下)
    到這里,或許會留意到沒有提及hibernate,有關hibernate的設置,也是通過spring來配置的,在后面的spring文件中會看到,有關hibernate.cfg.xml則存放在classpath下,需要用到的hibernate屬性配置信息hibernate.properties也存放在classpath下
    這些配置信息是整個系統的裝配總線,通過這些xml的配置,把所有的資源串在了一起。
    這里還要強調一個信息,這些配置文件都是按照功能模塊來劃分的,比如現在講解的這個系統中,除了默認的default外,還劃分了order(訂單處理系統)、admin(后臺管理系統),這樣設置的優勢在于很好的擴展系統,降低耦合性,同時條理也比較清晰,便于管理。
    下面分別介紹一下各個主要的配置文件內容
    1、struts(struts-config文件夾下)
    struts-config文件夾下主要有struts-config-default.xml、struts-config-admin.xml、struts-config-order.xml三個配置文件
    這里放置的是有關struts的配置信息,比如form-bean、action,有關form-bean的配置和一般的struts程序沒有什么兩樣,這里需要說明的是action的配置
    這里舉例一個配置片斷:

    type="org.springframework.web.struts.DelegatingActionProxy"
    scope="request" validate="true" input="/WEB-INF/jsp/login.jsp">



    注意里面的type屬性,這里設置的是org.springframework.web.struts.DelegatingActionProxy,正是通過它來使得和spring很好的結合起來,這里你會發現沒有具體的action類,它是通過struts和spring的結合處理(action-servlets-config文件夾下)的配置文件來實現的,這樣action類也納入到了spring容器的管理體系中去了。
    struts和spring的結合就是這樣來實現的,當然除了這種方式以外還有其他的,可以參考:關于struts中validate的幾種情況
    除了以上的配置信息外,還有幾個重要的配置,它是結合Spring、Tiles、Validator等框架的潤滑劑,主要是通過Struts的plug-in技術來實現的,舉例如下:

    className="org.springframework.web.struts.ContextLoaderPlugIn">

    value="/WEB-INF/config/action-servlets-config/action-servlets-default.xml
    /WEB-INF/config/action-servlets-config/action-servlets-order.xml
    /WEB-INF/config/action-servlets-config/action-servlets-admin.xml" />

    通過Spring框架的ContextLoaderPlugIn,把action類交由Spring容器來管理
    這里需要說明的一點是:是否需要在struts-config-default.xml文件中一起加載所有的action-servlets信息,還是對應著分別加載。當然現在的系統中是一起加載的,不過如果分開加載,也可以很好的分模塊開發,這邊只是探討,作個說明而已。


    value="/WEB-INF/config/tiles-config/tiles-defs-default.xml" />


    實現Tiles技術的嫁接


    value="/WEB-INF/config/validation-config/validator-rules-default.xml,
    /WEB-INF/config/validation-config/validation-default.xml" />

    在Struts框架中采用Validator框架的驗證機制
    2、spring(app-config文件夾下)
    app-config文件夾下主要有applicationContext_default.xml、applicationContext_admin.xml、applicationContext_order.xml、applicationContext.xml、dataAccessContext-local.xml
    這里主要是設置系統所需要的業務邏輯bean,完成符合spring-beans.dtd的定義規則
    分別解釋一下各個配置文件的主要用途:
    applicationContext.xml--定義一些共通的bean,列舉如下:
    AbstractFacadeBean(com.iplan.portal.framework.base.BaseFacade--所有Facade的抽象類,主要完成對DAO的配置,以便為所有FACADE提供DAO支持)
    AbstractServiceBean(com.iplan.portal.framework.base.BaseService--所有ServiceImp的抽象類,主要完成對DAO的配置,以便為所有ServiceImp提供DAO支持)
    AppRelationCore(com.iplan.portal.framework.base.AppRelationCore--系統各模塊間關系的維護類,既所有模塊暴露的Facade通過此類來訪問,每添加一個Facade模塊,需要在這里追加)
    baseTransactionProxy(通用的事務代理,這樣所有的Service、Facade都可以繼承這個事務代理)
    這里定義的都是些基礎設施,可以看到都是framework.base下的類
    dataAccessContext-local.xml--定義本地數據源信息
    說明:為了系統運作的簡單化,這里設置了本地數據源信息(以local為標志),當然如果為了分布式運作,采用jta事務,可以定義相應的設置 這里主要定義了數據源dataSource、hibernate的SessionFactory(mySessionFactory)、hibernate的事務管理器
    (myTransactionManager)、共通的訪問數據庫接口commonDAO(com.iplan.portal.framework.base.hibernate.CommonDAO)
    以上兩個都是系統運作的基礎,其間有一些聯系,大家可以參照一下具體的配置文件即可
    其它的三個配置文件都是按照功能模塊來劃分的,都是具體業務方面的信息,這里不在詳細描述,可以自行參考配置文件
    3、struts和spring的結合處理(action-servlets-config文件夾下)
    action-servlets-config文件夾下主要有action-servlets-default.xml、action-servlets-admin.xml、action-servlets-order.xml
    這里是action在spring容器下的配置,舉例如下:

    class="com.iplan.portal.start.action.LoginAction">




    這里的name屬性"/loginAction"和相應的struts配置文件中的path屬性要一一對應起來,這樣action類的生命周期將交由spring容器來管理了
    4、模版技術(tiles-config文件夾下)
    5、驗證技術(validation-config文件夾下)
    這兩項就不在多做闡述了,應該應用的比較多了
    除了WEB-INF/config下的五大類配置文件外,對其他一些需要用到的配置信息作一個比較簡單的介紹
    hibernate.cfg.xml:
    設置pojo信息,相關的SessionFactory配置已經移植到了Spring的dataAccessContext-local.xml配置文件中去了
    hibernate.properties
    設置一些有關hibernate的屬性信息,比如:driver、url、username、password、dialect、Connection Pool等等
    ApplicationResources.properties
    i18n國際化資源信息
    displaytag.properties
    display標簽的配置信息
    default-db.script、default-db.properties默認的hsqldb的數據結構、數據
    log4j.properties日志配置文件
    最后,還有一個非常重要的配置信息:web.xml
    有關于各種信息的配置,web.xml里面有比較詳細的說明,這里就不在多闡述了
    這里描述一下應用服務器啟動后,如何加載這些配置信息已供應用系統運作的
    第一步,當然是讀取web.xml中的配置信息,可以啟動
    Log4j信息
    通過ContextLoaderListener、讀取contextConfigLocation信息(spring(app-config文件夾下)),加載springapp-config文件夾下的配置信息
    HSQLDB數據庫
    啟動struts的ActionServlet,相應的config被加載
    第二步,從第一步可以看到struts(struts-config文件夾下)、spring(app-config文件夾下)都已經被加載
    那么struts和spring的結合處理(action-servlets-config文件夾下)、模版技術(tiles-config文件夾下)、驗證技術(validation-config文件夾下)如何被加載呢?
    struts和spring的結合處理(action-servlets-config文件夾下)通過struts(struts-config文件夾下)下的struts-config-default.xml加載 模版技術(tiles-config文件夾下)、驗證技術(validation-config文件夾下)分別通過struts(struts-config文件夾下)下的各個對應的功能模塊配置文件加載
    通過以上兩步加載,把五個大的配置信息都加載到系統中去了
    以上是關系系統配置文件的一些說明,希望通過這些能對整個系統的架構有一個比較清晰的了解
    已經轉移到 好·色之徒--我的博客、我的生活

    Feedback

    # re: 采用struts+hibernate+spring開發的一個web系統(3)  回復  更多評論   

    2006-10-11 10:03 by 123bingbing
    www.mylinux.com.cn 包羅java,linux,數據庫,安全等等技術資料,更有眾多軟件外包項目,所有項目直接與mylinux簽署合同,保證用戶的合法權利.
    qq群:15096318(已滿) 26343297(已滿) 26343309(已滿) 20767472(已滿) 30440614(已滿)21189212(已滿)

    # re: 采用struts+hibernate+spring開發的一個web系統(3)  回復  更多評論   

    2006-10-13 14:04 by 1
    如果你是編程高手,這里將是你一個展現自我的新舞臺----www.mylinux.com.cn

    # re: 采用struts spring hibernate開發的一個web系統(3)[未登錄]  回復  更多評論   

    2008-04-29 10:38 by 溫柔一刀
    applicationContxt.xml文件在那里?

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    posts - 39, comments - 91, trackbacks - 0, articles - 1

    Copyright © 城市劣人

    好·色之徒
    主站蜘蛛池模板: 美女视频黄免费亚洲| 亚洲AV无码一区二区二三区软件 | 亚洲成a∨人片在无码2023| 亚洲国产成人精品无码区二本| 亚洲视频免费播放| 永久中文字幕免费视频网站| 国产猛烈高潮尖叫视频免费| 亚洲自偷自偷在线制服 | 91情国产l精品国产亚洲区| 亚洲人成色77777在线观看| a级成人毛片免费视频高清| 色欲A∨无码蜜臀AV免费播| 午夜宅男在线永久免费观看网| 亚洲国产专区一区| 亚洲精品中文字幕麻豆| sihu国产精品永久免费| 麻豆视频免费播放| 国产亚洲A∨片在线观看| 亚洲色大情网站www| 7m凹凸精品分类大全免费| 亚洲综合色自拍一区| 国产成人AV免费观看| 亚洲国产婷婷香蕉久久久久久| a免费毛片在线播放| 久久精品国产亚洲av麻豆| 永久黄色免费网站| 亚洲精品无码不卡在线播放| 全亚洲最新黄色特级网站| 亚洲xxxxxx| 真实国产乱子伦精品免费| 国产成人精品亚洲2020| 69成人免费视频| 亚洲国产精品久久久久婷婷软件| 小说区亚洲自拍另类| 18勿入网站免费永久| 国产成人 亚洲欧洲| 97在线观免费视频观看| 黄色免费在线观看网址| 国产免费观看视频| 久久久亚洲精华液精华液精华液| 18禁无遮挡无码网站免费|