<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 © 城市劣人

    好·色之徒
    主站蜘蛛池模板: 无码人妻丰满熟妇区免费| 亚洲a在线视频视频| 国产精品免费观看| 久久久久女教师免费一区| 亚洲熟女综合色一区二区三区| 亚洲AV永久青草无码精品| 免费人成年激情视频在线观看| 福利免费观看午夜体检区| 日本视频在线观看永久免费| 人人公开免费超级碰碰碰视频| 亚洲一久久久久久久久| 亚洲成年人免费网站| 亚洲免费在线播放| 国产成A人亚洲精V品无码性色 | 人人狠狠综合久久亚洲婷婷| 免费在线观看毛片| 精品免费国产一区二区三区 | 中文字幕在线日亚洲9| 久久亚洲日韩精品一区二区三区| 亚洲午夜福利AV一区二区无码| 免费吃奶摸下激烈视频| 啊v在线免费观看| 国产高清视频在线免费观看| 毛片a级毛片免费播放100| 亚洲一区免费在线观看| 4虎1515hh永久免费| 在线美女免费观看网站h| 69免费视频大片| 久久久久久精品成人免费图片| 91香蕉在线观看免费高清| 97在线视频免费公开观看| 中文字幕成人免费视频| 中文字幕天天躁日日躁狠狠躁免费| 一级毛片**不卡免费播| 91福利免费视频| 亚洲免费福利在线视频| 在线视频免费观看高清| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 久久精品国产亚洲av麻豆图片| 亚洲AV无码一区二区三区在线| 久久久久亚洲国产|