`
javafenger
  • 浏览: 246760 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

Appfuse 增量式开发步骤

阅读更多

前置条件:

       假设用户已经按照《appfuse执行步骤》文档进行配置并操作,最后产生了一个叫uappweb应用。如果用户需要新增加功能,只要按照下面的步骤去操作就可以轻松地完成任务。


 

 

 

 

开发步骤:

1.         先在数据库里创建表。例如,student表。注意,表的名称的第二个字母最好不要大写。以免出现奇怪的问题(好像是hibernatebug)。

2.         把目录切换到appgen的工作目录,修改文件tables。把里面的内容先去掉,然后添加新的表名。例如,student

3.         appgen的工作目录下,运行Ant generate

运行结果:从数据库里读取表结构,并生成相关的strus表单、jsp文件、hibernatePOJO对象、DAOmanager对象、struts配置文件、spring配置文件、velocity的模板文件。

 

 

4.         转到uapp目录下,执行ant package-web生成WAR文件

这个过程里,

a)         会根据java文件生成hibernate的映射文件;

b)        compile-dao。编译dao目录下的java对象。

c)        package-dao。把dao目录下的classes打包成demo-dao.jar

d)        compile-service。编译service目录下的java对象。

e)         package-service。把service目录下的classes打包成demo-service.jar

f)         copy-resources。期间,会调用native2ascii Converting 1 file from D:projectappfusemyappfusedemowebWEB-INFclasses to D:projectappfusemyappfusedemobuildwebclasses

g)        generate.database.properties

h)        copy-web-files

i)          gen-forms。根据struts配置文件产生Form表单对象。

j)          compile-web。会编译action对象。    javac Compiling 40 source files to D:projectappfusemyappfusedemobuildwebclasses

k)        webdoclet。产生

                         i.              web.xml

                       ii.              uapp.tld

                      iii.              struts-config.xml

                     iv.              validation.xml

                       v.               

 

l)          package-web.。生成war包。

 

 

 

注意:我们经常要处理实体间的关系,如一对多,多对多。而appgen产生的POJO对象往往都太简单,没有处理这些复杂的关系。所以,我们需要手工地修改POJO对象,建立对象的关联。例如,在Parent对象里建立对Child的关联。

Parent.java对象里,增加

 

private Set children =new HashSet();

/**

       * @return Returns the booths.

       *

       *

       *  @hibernate.collection-one-to-many

       *  class="org.aos.exhibition.model.Child"

       *

       *  @hibernate.collection-key column="pid"

       *

       *  @hibernate.set

       *  name="children"

       *  table="child"

       *  inverse="true"

       *  sort="unsorted

       *  lazy="true"

       *  cascade="all"

       */

 

 

    public Set getChildren()

    {

           return this.children;

    }

      

       还有相关的addChildren(Child child)方法和getChildren()方法。

 

 

Child对象里,增加

private Parent parent;

 

 

/**

        * @return Returns the parent.

        *

        * @hibernate.many-to-one name="parent"

        * column="pid"

        * not-null="false"

        * cascade="all"

        * 

        */

       public Parent getParent() {

              return parent;

       }

 

 

       public void setParent(Parent parent) {

              this.parent = parent;

       }

最后,运行ant package-web产生相关的hibernate映射文件,并编译。

 

 

在编译的过程中,可能会有一些错误,例如, ActionForm包名的错误导致编译问题。

org.appfuse.model.Parent应该为org.aos.exhibition.model.Parent。需要自己修改相关的ActionForm,把包名更正。

 

 

1.         另外,我们经常会发现appgen给我们产生的jsp代码框架太简单,不能符合我们的要求,例如样式、布局等等。那么我们需要修改uappwebpages目录下的jsp文件。

2.         部署。执行ant deploy. 发布web应用到tomcatwebapps目录下。

3.         拷贝D:Tomcat50webappsdemoWEB-INFclassesorgappfusewebappactionLookupMethods.propertiesclassesorgaosexhibitionwebappaction 目录下。

4.         如果是中文版本,还需要把ApplicationResources_en.properties里面新增的内容拷贝到ApplicationResources_zh_CN.properties文件里面。

 

 

5.         使用链接:http://localhost:端口号/uapp/ 来启动web应用。如果在调试过程中发生net.sf.hibernate.HibernateException: Batch update row count wrong这样的异常,那需要重新运行Ant generate,从第三步开始作一遍



分享到:
评论

相关推荐

    Appfuse教程Appfuse开发.pdf

    通过以上步骤,开发者可以从零开始构建一个完整的基于 AppFuse 的 Web 应用,涵盖从数据模型到用户界面的所有方面。这样的过程不仅有助于理解 AppFuse 的工作原理,还能够加深对相关技术栈的理解。

    appfuse

    AppFuse 是一个开源项目,旨在简化Java Web应用程序的开发过程。它提供了一个基础框架,集成了许多流行的开源库,如Spring、Hibernate、Struts或Spring Boot等,帮助开发者快速搭建应用骨架。AppFuse 可以根据选定的...

    Appfuse开发教程

    **Appfuse开发教程** Appfuse 是一个开源项目,它提供了一种快速开发Web应用程序的方式,尤其在使用Java技术栈时。本教程将深入探讨如何利用Appfuse创建数据访问对象(DAO)和简单Java对象(POJO),并进行数据库...

    AppFuse

    ### AppFuse:加速J2EE项目开发 #### 一、简介与背景 AppFuse是一个用于启动J2EE项目的工具包,它提供了一种快速而简便的方法来构建基于Java的应用程序。该工具包由Matt Raible创建,他在网络开发领域拥有丰富的...

    appfuse学习笔记(一)安装部署

    **AppFuse 学习笔记(一):安装与部署** AppFuse 是一个开源项目,它提供了一种快速构建企业级 Web 应用程序的方式。...通过学习和实践 AppFuse,你可以更好地理解和掌握现代企业级 Web 开发流程,提高开发效率。

    appfuse 学习笔记

    ### Appfuse 学习笔记 #### 一、Appfuse 简介 Appfuse 是一个开源框架,...通过以上步骤,可以成功搭建起基于 Appfuse 2.0 的开发环境,并创建出各种类型的应用项目。接下来可以根据实际需求进行更深入的学习和开发。

    MAVEN 搭建APPFUSE

    AppFuse是一个开源项目,旨在简化Web应用程序的开发,它提供了一个基础框架,可以帮助开发者快速启动新项目,整合了Spring、Hibernate、Struts等流行技术。在本教程中,我们将深入了解如何利用Maven这个强大的构建...

    APPFUSE工具研究.doc

    AppFuse 是一个基于Java平台的开源项目,旨在加速和简化Web应用程序的开发。它通过集成各种流行框架,如Struts、Spring、Hibernate等,提供了一个项目骨架,使得开发者能够快速搭建新项目的结构。AppFuse分为1.x和...

    appfuse开发文档

    AppFuse的使用流程通常包括以下几个步骤: 1. **下载或从CVS获取源码**:可以从官方站点下载最新版本的AppFuse,或者通过CVS命令直接检出项目源码。 2. **创建新应用**:运行Ant命令,指定应用名和数据库名,生成...

    建立项目原型骨架的步骤(最新版本appfuse)appfuse2.1.0-M2

    AppFuse 是一个开源项目,它提供了快速开发Java Web应用程序的基础框架。这个框架集成了Spring、Hibernate和Struts等主流技术,使得开发者能够迅速构建出符合MVC架构的应用。在最新的版本2.1.0-M2中,AppFuse 提供了...

    可直接使用的appfuse项目

    AppFuse是一个集成了众多当前最流行开源框架与工具(包括Hibernate、ibatis、Struts、Spring、DBUnit、Maven、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit、JSTL等(现在还有lucene的,无敌了))于一身的...

    Appfuse开发教程.rar

    Appfuse是一款开源的Java Web应用框架,它旨在简化开发过程,提供一个快速开发基础Web应用程序的平台。Appfuse使用了Maven作为构建工具,结合Spring、Hibernate、Struts2等流行框架,为开发者提供了一个标准的架构...

    SSH学习及开发框架-appfuse

    appfuse 有struts2+hibernate+spring的整合 springmvc+hibernate+spring的整合 多模块,但模块都有 学习开发参考使用非常方便 可以到官方下载最新版的,我只是把自己下载的打包整理一下 注意哈,都是基于maven的...

    appfuse1.4-architecture

    06年时的appfuse,学习SSH架构的经典入门框架。相对比较老的资料,可以欣赏一下当时的架构,向牛人致敬

    玩转appfuse--使用appfuse建设MVC网站

    在提供的压缩包中,"基于appfuse开发网站.doc"很可能是详细的开发指南,涵盖了AppFuse的使用方法、配置步骤以及常见问题。"CertsManSys"可能是一个实际的AppFuse应用示例,包含了完整的源代码,你可以运行这个例子来...

    AppFuse2.1所需包

    AppFuse 是一个开源项目,旨在简化Java Web应用程序的开发。它提供了一个基础架构,开发者可以在此基础上快速构建安全、可扩展的应用程序。AppFuse 2.1 版本是该项目的一个较早版本,但仍然包含了现代Web开发的核心...

    appfuse开发框架(myapp)使用说明文档

    以上步骤提供了关于如何使用AppFuse框架进行开发的基本指南,包括配置环境、导入项目以及生成CRUD操作所需的代码模板。这些指南对于初学者来说尤其有用,可以帮助他们快速上手并高效地进行应用程序的开发。

Global site tag (gtag.js) - Google Analytics