前置条件:
假设用户已经按照《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是由Matt Raible开发的一个指导性的入门级J2EE框架,它对如何集成流行的Spring、Hibernate、iBatis、struts、Xdoclet、junit 等基础框架给出了示范。提供了对Taperstry和JSF的支持。 AppFuse是一个集成了...
新手使用appfuse2.0,启动步骤和配置过程
使用appfuse2.0,下载过来的实例源码,没有jar包
本文以一个 J2EE 开发者的角度,借助一个简单的应用示例,在融合了个人经验的基础上介绍了如何用 ...通过阅读本文,读者不仅能够学会用 AppFuse 进行开发,而且能够充分体会到 AppFuse 提供的“快速开发”的优越性。
Appfuse开发教程
建立项目原型骨架的步骤(最新版本appfuse)appfuse2.1.0-M2 spring3.0 hibernte3.3 struts2.1.8
Appfuse是一个开源的工程应用,它集成了现在最流行的开发框架到该应用中,使用Maven可以很方便的开发和部署因为。也可以集成到现在流行的开源开发工具如eclipse,idea等。现在让我们简单的看看APPFUSE开发应用的简单...
AppFuse是一个集成了众多当前最流行开源框架与工具(包括Hibernate、ibatis、Struts、Spring、DBUnit、Maven、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit、JSTL等(现在还有lucene的,无敌了))于一身的...
本文档详细描述了AppFuse与SpringMVC+mybatis整合的过程,只要你懂一些基本的eclipse操作和基本的maven命令,就可以在三分钟之内迅速的搭建出一个AppFuse的架构
appfuse 有struts2+hibernate+spring的整合 springmvc+hibernate+spring的整合 多模块,但模块都有 学习开发参考使用非常方便 可以到官方下载最新版的,我只是把自己下载的打包整理一下 注意哈,都是基于maven的...
appfuse缩减开发时间,为程序员缩减大约85%的开发时间。本教程将带你进入appfuse的开发工作
06年时的appfuse,学习SSH架构的经典入门框架。相对比较老的资料,可以欣赏一下当时的架构,向牛人致敬
详细的说明了appfuse的下载、安装、配置、创建项目、编译、部署、运行、生成源码的全过程。如果有问题 qq: 52288572
Appfuse 一个开放源码的项目和应用程序,帮助我们快速而高效的地开发。
使用appfuse进行网站开发,appfuse是关于Spring,Struts2,MVC3,Hibernate等技术的案例,可以加快建设网站。 1.文档说明。 2.可以执行的案例,亲测无误。
主要是自己从网络上搜集的一些关于appfuse1.8.2-2.0.2的一些相关资料,间或有点自己试验的记录,还有点maven和quartz的东东,之前我主要是用1.8.2构建项目,感觉还不错,希望对想学习appfuse的人有些帮助.
对用appfuse 做快速开发进行说明 本框架推荐使用的Tomcat版本为5.0.*,JDK使用1.4。若使用JDK 1.5+,则要将Tomcat安装目录下的common\endorsed 里面两个JAR(xercesImpl.jar,xmlParserAPIs.jar)去掉。Ps:...
AppFuse2.1所需包,主要包括Spring MVC+Hibernate4 还有一些其它包!