OFBiz使用心得

    因爲項目緣由, 結識了OFBiz. OFBiz? 這是個什麼東東?先從它的英文簡寫提及.OFBiz是"Open For Business"的縮寫, 它是Apache的一個項目, 更詳細的信息可從這個連接裏看到:http://ofbiz.apache.org/.基於這個開源項目,咱們能夠方便快捷地開發出整個業務流程所需的一 系列功能:ERP,CRM,E-Business / E-Commerce,SCM,MRP,CMMS/EAM.

     這個東東有什麼優點呢?說到優點得看跟誰比,又都比哪些方面? 對這個問題我也有很大的疑問.這個項目從2003年開始到如今最起碼來講在國內一直沒見火起來.是中國的特殊環境?(不喜歡用開源,開源的東西很差吆呵, 你總不能要開源的東西向客戶要高價吧?並且也沒有那麼玄目的新名詞) ,.跟如今你們很熟悉的名詞有什麼聯繫?像JSP,JSF,Ajax,Struts,Hibernate,EJB,Spring... 如今我能體會到的是,用OFBiz開發時不用頻繁地重啓服務器,一些文件修改後下一次訪問時可直接與未改文件"會師",用爲數很少的代碼實現一些基本功 能. ... 還有一個大大的優勢:OFBiz把PHP世界編程裏的方便快捷與Java世界編程裏的井井有條給很好地結合了起來,這個我已感受到了.

     這個話題太大如今還不可能描述的很詳細,先放一放,畢竟本篇的重點是先用OFBiz寫一個Hello World,以對OFBiz有個直觀的體會.

     在寫Hello World以前先要把OFBiz下載下來, 下載有不少選擇,我是從http://build.hotwaxmedia.com/這個連接裏下載,下載後解壓到一目錄,咱們稱之爲 "OFBIZ_HOME",在我機子上這個目錄是"E:\ERP\ofbiz-trunk-current\ofbiz-trunk",

    咱們先對這個目錄下的文件(夾)有個大體的瞭解."OFBIZ_HOME"目錄下當前要關注的幾個文件 (夾):applications,framework,hot-deploy,runtime,startofbiz.bat.

    按重要/經常使用程度依次介以下: 這裏邊的hot-deploy就是咱們往裏寫/放程序的地兒; 而runtime下的catalina文件夾裏放的是jsp生成的java和class文件;logs裏放的是ofbiz的日誌,出錯時咱們常看這裏的 error.log文件;framework我感受是整個ofbiz的核心,固然裏面也放有例子(example),有時咱們參考這個example下的 文件;application用的最少, 多是程序開發後真正要運行的地兒;startofbiz.bat就是ofbiz的啓動腳本了.

    上面咱們對目錄下的文件有了個大體瞭解,下面就動手寫一個helloWorld.

    Step1: 在hot-deploy下,新建一名爲"myHelloWorld"的文件夾,後續的文件(夾)都是加在這個文件夾下的.
    Step2: 在剛建的文件夾下新建一個名爲"ofbiz-component.xml"的文件, 感受這個文件與ofbiz的關係像web.xm與servlet容器的關係.在文件ofbiz-component.xml裏寫以下內容:java

<?xml version="1.0" encoding="UTF-8"?>
<ofbiz-component name="myHelloWorld"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/ofbiz-component.xsd">

      <resource-loader     name="main" type="component"/>
     
        <webapp name="myHelloWorld"
           title="myHelloWorld"
           server="default-server"
           base-permission="OFBTOOLS"
           location="webapp/myHelloWorld"
           mount-point="/myHelloWorld"
           app-bar-display="false"/>
</ofbiz-component>

先沒必要關心這裏的配置都表明什麼意思.web


    Step3: 在"myHelloWorld"文件夾下新建名爲"webapp"文件夾,咱們如今要作的是web程序嘛.
    Step4: 在Step3新建的文件夾裏新建文件夾"myHelloWorld",感受這一塊就很像往Tomcat裏部署程序了,咱們會在這裏加WEB-INF文件 夾,error文件夾,index.jsp文件,這都很熟悉了.
    Step5: error文件夾和index.jsp文件能夠直接從framework下的example裏拷過來.
    Step6: 新建WEB-INF(在Step4新建的"myHelloWorld"文件夾下)後, 在它下面新建兩個文件web.xml和controller.xml.web.xml就是咱們常見的那個web.xml, controller.xml文件,顧名思義, 相似於struts裏的struts.xml.web.xml文件裏的內容可從framework下的example裏對應文件內部拷過來,內部一個字也 不改,固然仍是改的好,只是如今那些信息還用不到.controller.xml的內容以下,先這麼寫,待會再邊作邊往裏加些東東.
        <?xml version="1.0" encoding="UTF-8"?>apache

<site-conf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/site-conf.xsd">

       <include location="component://common/webcommon/WEB-INF/common-controller.xml"/>
      
       <errorpage>/error/error.jsp</errorpage> <!--這個error.jsp文件用來顯示報錯做息-->


</site-conf>

    Step7: 寫到這,基本結構已搭好,下面寫要顯示的內部.OFBiz項目剛開始時是以jsp爲默認表現層技術的, 後來慢慢改爲FreeMarker了, 固然也還支持jsp, 如今隨大流兒,用FreeMarker.有webapp下的myHelloWorld文件夾裏新建helloWorld.ftl文件,其內容以下:編程

<h1>HELLO</h1>
<p>Hello world!It works, this is my first OFBiz application! :)</p>

  這不就是一個HTML文件麼? 是的, 如今我們這個HelloWorld尚未用到FreeMarker的東西.  

    Step8: 要顯示的內容寫好了,下面配置下咱們就能夠瀏覽器裏訪問了.
        在Step6新建的"controller.xml"文件裏,"<errorpage>/error/error.jsp< /errorpage>" 一行的下面加以下內部:
        <request-map uri="main">
           <security https="false" auth="false"/>
           <response name="success" type="view" value="main"/>
       </request-map>瀏覽器


<view-map name="main" type="ftl" page="/helloWorld.ftl"/>

這個也不用多解釋,就是圍繞着MVC來配置訪問/跳轉路徑.

  Step9: OK了, 如今就能夠啓動OFBiz了(經過startofbiz.bat腳本文件).若是不出意外的話,就能看到以下所示的效果:服務器

  爲了方便比照, 把剛建的myHelloWorld文件夾圖片也貼上來.   app

 

 這篇就先寫到這.webapp

相關文章
相關標籤/搜索