由于本平台过于庞大,决定从一个小示例开始,动手前搜了一下,网上有不少例子,尝试过后发现都不能运行成功。参考《OFBiz Tutorial - A Beginners Development Guide》及官方的Practice例子后,终于成功的编了个世界经典--Hello World,写此文以记录。
环境:
jdk1.8.0_65 X64
apache-ofbiz-13.07.02 zip形式的发布包
eclipse-mars.1
步骤:
第 1 步:在 hot-deploy 下创建子目录命名为“helloworld“,这是我们的组件名
第 2 步:在 hot-deploy/helloworld路径下创建 ofbiz-component.xml 文件,格式可以从其它同名文件中拷贝,内容如下
第 3 步:创建web应用
3.1 在 hot-deploy/helloworld下创建目录webapp(hot-deploy/helloworld/webapp)
3.2 在 webapp 目录下创建一个子目录命名为"helloworld",这个就是我们要开发的 webapp 名称(hot-deploy/helloworld/webapp/helloworld)
注:一个组件可以附加多个web应用
3.3 在你 webapp 下创建 WEB-INF 目录(hot-deploy/helloworld/webapp/helloworld/WEB-INF)
注:OFBiz 的web 应用要有两个配置文件: controller.xml 和 web.xml。这 controller.xml 告诉 OFBiz 从访问者来的不同请求做
不同的事:做什么动作和渲染什么页面。 web.xml 告诉 OFBiz 什么资源对这个 web 应用是有效的和如何处理 web 相关的事情
3.4 创建一个命名为"web.xml"(web.xml 遵守 j2ee web 应用规范),此处的全路径为:hot-deploy/helloworld/webapp/helloworld/WEB-INF/web.xml,格式可以从OFBiz的其它应用中拷贝,内容如下
HelloWorld Application HelloWorld Application of the Open For Business Project webSiteId HELLOWORLD A unique ID used to look up the WebSite entity to get information about catalogs, etc. localDispatcherName helloworld A unique name used to identify/recognize the local dispatcher for the Service Engine mainDecoratorLocation component://helloworld/widget/HelloWorldScreens.xml The location of the main-decorator screen to use for this webapp; referred to as a context variable in screen def XML files. entityDelegatorName default The Name of the Entity Delegator to use, defined in entityengine.xml ContextFilter ContextFilter org.ofbiz.webapp.control.ContextFilter disableContextSecurity N allowedPaths /error:/control:/select:/index.html:/index.jsp:/default.html:/default.jsp:/images:/includes/maincss.css:/js errorCode 403 redirectPath /control/main ContextFilter /* org.ofbiz.webapp.control.ControlEventListener org.ofbiz.webapp.control.LoginEventListener ControlServlet ControlServlet Main Control Servlet org.ofbiz.webapp.control.ControlServlet 1 ControlServlet /control/* 60
3.5 创建controller.xml文件,文件的路径为:hot-deploy/helloworld/webapp/helloworld/WEB-INF/controller.xml,对做过web开发人员而言,这个文件的内容很容易理解,文件的文件内容如下:
HelloWorld Component Site Configuration File Open For business Project (c)2005
3.6 在组件目录 helloworld中创建一个"widget"(hot-deploy/helloworld/widget)目录,这个目录是用于处理用户界面的,如:forms, menus,和 screens
3.7 在"widget"中创建文件"HelloworldScreens.xml",文件内容如下:
4. 启动OFBiz,可以在OFBiz的目录下执行 java -Xmx256M -jar ofbiz.jar
5. 打开浏览器,输入http://localhost:8080/helloworld/control/main
如果出现“This is the first practice.”,恭喜你,成功了!
好了,到这里我们已经构建出了一个最简化的基于OFBiz的小应用了,相关配置项的含义待有时间再慢慢写下来。