`
mayang_lang
  • 浏览: 20779 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

OFBiz 13.07 之HelloWorld

阅读更多
知道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的小应用了,相关配置项的含义待有时间再慢慢写下来。
分享到:
评论

相关推荐

    Ofbiz 9 :Hello World

    NULL 博文链接:https://lmzf.iteye.com/blog/575969

    ofbiz的helloworld例子

    ofbiz的helloworld例子,网上不好找到比较全的,这个比较全,可以了解ofbiz的整体架构和运行机制。

    apache-ofbiz-13.07.02.zip

    apache-ofbiz-13.07.02.zip

    ofbiz电商框架hello主题文件定制

    "Hello"主题是OFBiz预设的主题之一,设计简洁明了,适合初学者快速上手。在本教程中,我们将会学习如何将这个主题与HTML5技术相结合,以创建一个现代化的后台管理系统。HTML5是目前网页开发的标准,它提供了更强大的...

    ofbiz电商框架hello与皮肤定制实例

    在本文中,我们将深入探讨基于Apache OFBiz的电商框架中的"Hello"实例和皮肤定制。Apache OFBiz是一个全面的企业级开源电子商务解决方案,它提供了一系列工具和服务,帮助开发者构建复杂的在线业务系统。在这个实例...

    magento:Magento 与 Apache OFBiz 集成,兼容 OFBiz-13.07 和主干

    Magento 与 Apache OFBiz 集成,兼容 OFBiz-13.07 和主干 在 Apache OFBiz-13.07 和 OFBiz 主干中使用磁电机组件的步骤 启动终端并进入 Apache OFBiz 的主目录 在热部署文件夹中签出 magento 组件 使用命令加载数据...

    Ofbiz12.04 进阶之三 第一个Helloword的应用

    在OFBiz中,"Hello World"应用通常用于演示如何设置新项目并运行基础的OFBiz组件。 1. **创建OFBiz项目**: - 首先,你需要下载并安装OFBiz 12.04版本。确保你的开发环境支持Java(JDK 8或更高版本),因为OFBiz是...

    Ofbiz 数据库全模型

    Ofbiz,全称为The Open For Business Project,是一个开源的企业应用框架,主要由Apache软件基金会维护。这个项目旨在提供一套全面的、可扩展的企业级应用程序解决方案,涵盖了电子商务、供应链管理、客户关系管理等...

    OFBiz 教程

    ofbiz 官网文档翻译 ,按照此文档里面的步骤,可以安全快速的编译自己的第一个小模块 "Hello World",一开始是很抵触的,但是学着学着发现其实框架道理是相似的,为了将代码解耦,每个框架都有自己的独特解耦之道和...

    OFBIZ官方文档

    8. 最后,文档提供了有关如何“安全地”通过认证来创建实践应用程序的指南(HelloWorld应用概述)。 以上步骤展示了从安装和配置OFBiz环境,到创建基础应用程序,再到编写具体业务逻辑,直至最终应用部署和安全加固...

    ofbiz安装与配置

    Ofbiz 安装与配置指南 Ofbiz 是一个基于 Java 的开源企业级电子商务平台,提供了强大的电子商务解决方案。为了帮助初学者快速上手 Ofbiz,我们将详细介绍 Ofbiz 的安装与配置过程。 环境搭建 在开始安装 Ofbiz ...

    ofbiz学习笔记(自学整理)

    Apache Ofbiz是一个开源的企业应用框架,它为构建复杂的业务应用程序提供了全面的功能,包括供应链管理、电子商务、财务会计、人力资源等。对于初学者来说,理解Ofbiz的基本架构和工作原理是至关重要的。 Ofbiz的...

    ofbiz 入门+增删改查+实体

    完成了这些基础设置后,启动OFBiz服务并访问http://localhost:8080/practice/control/main,可以看到Hello World应用的运行效果。 接下来,我们将学习在OFBiz中创建自定义实体。实体在OFBiz中相当于数据库表,所以...

    ofbiz研究第四天:终于有成果了,增删改查!

    - "BillHongs的HelloWorld"通常是一个入门级别的教程,旨在帮助开发者快速熟悉OFBiz环境的搭建和基本功能的实现。 - 这个示例可能涵盖了创建一个新的实体(Entity)、定义其属性、并实现简单的CRUD(Create, Read,...

    ofbiz10.04表结构

    标题中的"ofbiz10.04表结构"指的是OFBiz 10.04版本的数据模型设计,这是企业级开源应用框架OFBiz的一个重要组成部分。OFBiz全称为Open For Business Project,它是一个用于构建企业应用程序的全面业务解决方案,涵盖...

    ofbiz api开发文档

    《OFBiz API 开发文档详解》 在信息技术领域,OFBiz(Open For Business Project)是一个开源的企业级应用框架,主要用于构建复杂的电子商务系统。OFBiz 提供了一整套全面的业务组件,涵盖了从供应链管理到客户关系...

    Apache OFBiz Cookbook

    ### Apache OFBiz Cookbook 知识点解析 #### 一、Apache OFBiz 概述 - **定义**:Apache OFBiz(Open For Business)是一款开源的企业级应用框架,它集成了ERP(企业资源规划)、CRM(客户关系管理)以及E-...

    Apache.OFBiz.Development

    2. 使用SVN:版本控制系统SVN(Subversion)是获取OFBiz源代码的途径之一。TortoiseSVN是SVN的一个客户端,用于通过图形界面来操作SVN仓库。 3. 安装Java开发工具包(JDK):JDK是开发Java应用的必要工具包,这里...

    关于OFBIZ的资料

    在提供的OFBIZ_Demo压缩包中,用户可以找到OfBiz的演示版本,这是一套预配置的环境,展示了OfBiz在实际业务场景下的功能和操作。这个演示通常包括以下部分: 1. **安装与配置**:压缩包可能包含了安装指南和配置...

Global site tag (gtag.js) - Google Analytics