知道OFBiz是一个偶然的机会,当时需要重新构思一个电商平台,在开源社区里一通扒拉之后,发现居然有一个这么牛的开源电商平台,大喜并下之...
由于本平台过于庞大,决定从一个小示例开始,动手前搜了一下,网上有不少例子,尝试过后发现都不能运行成功。参考《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 文件,格式可以从其它同名文件中拷贝,内容如下
<?xml version="1.0" encoding="UTF-8"?>
<ofbiz-component name="helloworld"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/ofbiz-component.xsd">
<!-- The name attribute in the <resource-loader> tag can be any string. Here we are setting it as "main". The type attribute tells OFBiz that we will be loading a component. -->
<resource-loader name="main" type="component" />
<!--
webapp name
title: app title 将显示在导航栏上
base-permission:需要哪个权限才可以使用这个应用
location:基准路径
mount-point:挂载点,如http://localhost:8080/helloworld
app-bar-display:是否显示在主应用导航条上,这个是公用ofbiz修饰的一部分
-->
<webapp name="helloworld"
server="default-server"
title="Helloworld"
location="webapp/helloworld"
mount-point="/helloworld"
app-bar-display="true"
base-permission="OFBTOOLS" />
</ofbiz-component>
第 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的其它应用中拷贝,内容如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>HelloWorld Application</display-name>
<description>HelloWorld Application of the Open For Business Project</description>
<context-param>
<param-name>webSiteId</param-name>
<param-value>HELLOWORLD</param-value>
<description>A unique ID used to look up the WebSite entity to get information about catalogs, etc.</description>
</context-param>
<context-param>
<param-name>localDispatcherName</param-name>
<param-value>helloworld</param-value>
<description>A unique name used to identify/recognize the local dispatcher for the Service Engine</description>
</context-param>
<context-param>
<param-name>mainDecoratorLocation</param-name>
<param-value>component://helloworld/widget/HelloWorldScreens.xml</param-value>
<description>The location of the main-decorator screen to use for this webapp; referred to as a context variable in screen def XML files.</description>
</context-param>
<context-param>
<param-name>entityDelegatorName</param-name><param-value>default</param-value>
<description>The Name of the Entity Delegator to use, defined in entityengine.xml</description>
</context-param>
<filter>
<filter-name>ContextFilter</filter-name>
<display-name>ContextFilter</display-name>
<filter-class>org.ofbiz.webapp.control.ContextFilter</filter-class>
<init-param><param-name>disableContextSecurity</param-name><param-value>N</param-value></init-param>
<init-param>
<param-name>allowedPaths</param-name>
<param-value>/error:/control:/select:/index.html:/index.jsp:/default.html:/default.jsp:/images:/includes/maincss.css:/js</param-value>
</init-param>
<init-param><param-name>errorCode</param-name><param-value>403</param-value></init-param>
<init-param><param-name>redirectPath</param-name><param-value>/control/main</param-value></init-param>
</filter>
<filter-mapping><filter-name>ContextFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
<listener><listener-class>org.ofbiz.webapp.control.ControlEventListener</listener-class></listener>
<listener><listener-class>org.ofbiz.webapp.control.LoginEventListener</listener-class></listener>
<servlet>
<servlet-name>ControlServlet</servlet-name>
<display-name>ControlServlet</display-name>
<description>Main Control Servlet</description>
<servlet-class>org.ofbiz.webapp.control.ControlServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping><servlet-name>ControlServlet</servlet-name><url-pattern>/control/*</url-pattern></servlet-mapping>
<session-config><session-timeout>60</session-timeout><!-- in minutes --></session-config>
</web-app>
3.5 创建controller.xml文件,文件的路径为:hot-deploy/helloworld/webapp/helloworld/WEB-INF/controller.xml,对做过web开发人员而言,这个文件的内容很容易理解,文件的文件内容如下:
<?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" />
<description>HelloWorld Component Site Configuration File</description>
<owner>Open For business Project (c)2005 </owner>
<request-map uri="main">
<security auth="false" https="false"/>
<response name="success" type="view" value="main"/>
</request-map>
<view-map name="main" type="screen" page="component://helloworld/widget/HelloworldScreens.xml#main"/>
</site-conf>
3.6 在组件目录 helloworld中创建一个"widget"(hot-deploy/helloworld/widget)目录,这个目录是用于处理用户界面的,如:forms, menus,和 screens
3.7 在"widget"中创建文件"HelloworldScreens.xml",文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd">
<screen name="main">
<section>
<widgets>
<label text="This is the first practice."></label>
</widgets>
</section>
</screen>
</screens>
4. 启动OFBiz,可以在OFBiz的目录下执行 java -Xmx256M -jar ofbiz.jar
5. 打开浏览器,输入http://localhost:8080/helloworld/control/main
如果出现“This is the first practice.”,恭喜你,成功了!
好了,到这里我们已经构建出了一个最简化的基于OFBiz的小应用了,相关配置项的含义待有时间再慢慢写下来。
分享到:
相关推荐
NULL 博文链接:https://lmzf.iteye.com/blog/575969
ofbiz的helloworld例子,网上不好找到比较全的,这个比较全,可以了解ofbiz的整体架构和运行机制。
apache-ofbiz-13.07.02.zip
"Hello"主题是OFBiz预设的主题之一,设计简洁明了,适合初学者快速上手。在本教程中,我们将会学习如何将这个主题与HTML5技术相结合,以创建一个现代化的后台管理系统。HTML5是目前网页开发的标准,它提供了更强大的...
在本文中,我们将深入探讨基于Apache OFBiz的电商框架中的"Hello"实例和皮肤定制。Apache OFBiz是一个全面的企业级开源电子商务解决方案,它提供了一系列工具和服务,帮助开发者构建复杂的在线业务系统。在这个实例...
Magento 与 Apache OFBiz 集成,兼容 OFBiz-13.07 和主干 在 Apache OFBiz-13.07 和 OFBiz 主干中使用磁电机组件的步骤 启动终端并进入 Apache OFBiz 的主目录 在热部署文件夹中签出 magento 组件 使用命令加载数据...
在OFBiz中,"Hello World"应用通常用于演示如何设置新项目并运行基础的OFBiz组件。 1. **创建OFBiz项目**: - 首先,你需要下载并安装OFBiz 12.04版本。确保你的开发环境支持Java(JDK 8或更高版本),因为OFBiz是...
Ofbiz,全称为The Open For Business Project,是一个开源的企业应用框架,主要由Apache软件基金会维护。这个项目旨在提供一套全面的、可扩展的企业级应用程序解决方案,涵盖了电子商务、供应链管理、客户关系管理等...
ofbiz 官网文档翻译 ,按照此文档里面的步骤,可以安全快速的编译自己的第一个小模块 "Hello World",一开始是很抵触的,但是学着学着发现其实框架道理是相似的,为了将代码解耦,每个框架都有自己的独特解耦之道和...
8. 最后,文档提供了有关如何“安全地”通过认证来创建实践应用程序的指南(HelloWorld应用概述)。 以上步骤展示了从安装和配置OFBiz环境,到创建基础应用程序,再到编写具体业务逻辑,直至最终应用部署和安全加固...
Ofbiz 安装与配置指南 Ofbiz 是一个基于 Java 的开源企业级电子商务平台,提供了强大的电子商务解决方案。为了帮助初学者快速上手 Ofbiz,我们将详细介绍 Ofbiz 的安装与配置过程。 环境搭建 在开始安装 Ofbiz ...
Apache Ofbiz是一个开源的企业应用框架,它为构建复杂的业务应用程序提供了全面的功能,包括供应链管理、电子商务、财务会计、人力资源等。对于初学者来说,理解Ofbiz的基本架构和工作原理是至关重要的。 Ofbiz的...
完成了这些基础设置后,启动OFBiz服务并访问http://localhost:8080/practice/control/main,可以看到Hello World应用的运行效果。 接下来,我们将学习在OFBiz中创建自定义实体。实体在OFBiz中相当于数据库表,所以...
- "BillHongs的HelloWorld"通常是一个入门级别的教程,旨在帮助开发者快速熟悉OFBiz环境的搭建和基本功能的实现。 - 这个示例可能涵盖了创建一个新的实体(Entity)、定义其属性、并实现简单的CRUD(Create, Read,...
标题中的"ofbiz10.04表结构"指的是OFBiz 10.04版本的数据模型设计,这是企业级开源应用框架OFBiz的一个重要组成部分。OFBiz全称为Open For Business Project,它是一个用于构建企业应用程序的全面业务解决方案,涵盖...
《OFBiz API 开发文档详解》 在信息技术领域,OFBiz(Open For Business Project)是一个开源的企业级应用框架,主要用于构建复杂的电子商务系统。OFBiz 提供了一整套全面的业务组件,涵盖了从供应链管理到客户关系...
### Apache OFBiz Cookbook 知识点解析 #### 一、Apache OFBiz 概述 - **定义**:Apache OFBiz(Open For Business)是一款开源的企业级应用框架,它集成了ERP(企业资源规划)、CRM(客户关系管理)以及E-...
2. 使用SVN:版本控制系统SVN(Subversion)是获取OFBiz源代码的途径之一。TortoiseSVN是SVN的一个客户端,用于通过图形界面来操作SVN仓库。 3. 安装Java开发工具包(JDK):JDK是开发Java应用的必要工具包,这里...
在提供的OFBIZ_Demo压缩包中,用户可以找到OfBiz的演示版本,这是一套预配置的环境,展示了OfBiz在实际业务场景下的功能和操作。这个演示通常包括以下部分: 1. **安装与配置**:压缩包可能包含了安装指南和配置...