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里写如下内容:

<?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>

先不必关心这里的配置都代表什么意思.


    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"?>

<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文件夹图片也贴上来.   

 

 这篇就先写到这.

转载于:https://my.oschina.net/darcyzhu/blog/3432

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值