前置条件:
假设用户已经按照《appfuse执行步骤》文档进行配置并操作,最后产生了一个叫uapp的web应用。如果用户需要新增加功能,只要按照下面的步骤去操作就可以轻松地完成任务。
开发步骤:
1. 先在数据库里创建表。例如,student表。注意,表的名称的第二个字母最好不要大写。以免出现奇怪的问题(好像是hibernate的bug)。
2. 把目录切换到appgen的工作目录,修改文件tables。把里面的内容先去掉,然后添加新的表名。例如,student。
3. 在appgen的工作目录下,运行Ant generate。
运行结果:从数据库里读取表结构,并生成相关的strus表单、jsp文件、hibernate的POJO对象、DAO和manager对象、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应用到tomcat的webapps目录下。
3. 拷贝D:Tomcat50webappsdemoWEB-INFclassesorgappfusewebappactionLookupMethods.properties到classesorgaosexhibitionwebappaction 目录下。
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 的 Web 应用,涵盖从数据模型到用户界面的所有方面。这样的过程不仅有助于理解 AppFuse 的工作原理,还能够加深对相关技术栈的理解。
AppFuse 是一个开源项目,旨在简化Java Web应用程序的开发过程。它提供了一个基础框架,集成了许多流行的开源库,如Spring、Hibernate、Struts或Spring Boot等,帮助开发者快速搭建应用骨架。AppFuse 可以根据选定的...
**Appfuse开发教程** Appfuse 是一个开源项目,它提供了一种快速开发Web应用程序的方式,尤其在使用Java技术栈时。本教程将深入探讨如何利用Appfuse创建数据访问对象(DAO)和简单Java对象(POJO),并进行数据库...
### AppFuse:加速J2EE项目开发 #### 一、简介与背景 AppFuse是一个用于启动J2EE项目的工具包,它提供了一种快速而简便的方法来构建基于Java的应用程序。该工具包由Matt Raible创建,他在网络开发领域拥有丰富的...
**AppFuse 学习笔记(一):安装与部署** AppFuse 是一个开源项目,它提供了一种快速构建企业级 Web 应用程序的方式。...通过学习和实践 AppFuse,你可以更好地理解和掌握现代企业级 Web 开发流程,提高开发效率。
### Appfuse 学习笔记 #### 一、Appfuse 简介 Appfuse 是一个开源框架,...通过以上步骤,可以成功搭建起基于 Appfuse 2.0 的开发环境,并创建出各种类型的应用项目。接下来可以根据实际需求进行更深入的学习和开发。
AppFuse是一个开源项目,旨在简化Web应用程序的开发,它提供了一个基础框架,可以帮助开发者快速启动新项目,整合了Spring、Hibernate、Struts等流行技术。在本教程中,我们将深入了解如何利用Maven这个强大的构建...
AppFuse 是一个基于Java平台的开源项目,旨在加速和简化Web应用程序的开发。它通过集成各种流行框架,如Struts、Spring、Hibernate等,提供了一个项目骨架,使得开发者能够快速搭建新项目的结构。AppFuse分为1.x和...
AppFuse的使用流程通常包括以下几个步骤: 1. **下载或从CVS获取源码**:可以从官方站点下载最新版本的AppFuse,或者通过CVS命令直接检出项目源码。 2. **创建新应用**:运行Ant命令,指定应用名和数据库名,生成...
AppFuse 是一个开源项目,它提供了快速开发Java Web应用程序的基础框架。这个框架集成了Spring、Hibernate和Struts等主流技术,使得开发者能够迅速构建出符合MVC架构的应用。在最新的版本2.1.0-M2中,AppFuse 提供了...
AppFuse是一个集成了众多当前最流行开源框架与工具(包括Hibernate、ibatis、Struts、Spring、DBUnit、Maven、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit、JSTL等(现在还有lucene的,无敌了))于一身的...
Appfuse是一款开源的Java Web应用框架,它旨在简化开发过程,提供一个快速开发基础Web应用程序的平台。Appfuse使用了Maven作为构建工具,结合Spring、Hibernate、Struts2等流行框架,为开发者提供了一个标准的架构...
appfuse 有struts2+hibernate+spring的整合 springmvc+hibernate+spring的整合 多模块,但模块都有 学习开发参考使用非常方便 可以到官方下载最新版的,我只是把自己下载的打包整理一下 注意哈,都是基于maven的...
06年时的appfuse,学习SSH架构的经典入门框架。相对比较老的资料,可以欣赏一下当时的架构,向牛人致敬
在提供的压缩包中,"基于appfuse开发网站.doc"很可能是详细的开发指南,涵盖了AppFuse的使用方法、配置步骤以及常见问题。"CertsManSys"可能是一个实际的AppFuse应用示例,包含了完整的源代码,你可以运行这个例子来...
AppFuse 是一个开源项目,旨在简化Java Web应用程序的开发。它提供了一个基础架构,开发者可以在此基础上快速构建安全、可扩展的应用程序。AppFuse 2.1 版本是该项目的一个较早版本,但仍然包含了现代Web开发的核心...
以上步骤提供了关于如何使用AppFuse框架进行开发的基本指南,包括配置环境、导入项目以及生成CRUD操作所需的代码模板。这些指南对于初学者来说尤其有用,可以帮助他们快速上手并高效地进行应用程序的开发。