Appfuse是由Matt Raible开发的一个指导性的入门级J2EE框架,它对如何集成流行的Spring、Hibernate、iBatis、struts、Xdcolet、junit 等基础框架给出了示范。提供了对Taperstry和JSF的支持。
● 在持久层方面,AppFuse可以使用Hibernate O/R映射工具、iBatis;
使用AppFuse 的七个理由
● 在容器方面,它采用了Spring Framework;
● 在web框架方面,用户可以自由选择Struts、Spring/MVC,Webwork,Taperstry、JSF这几个web框架。
● 在开发模式方面,采用TDD的开发方式,使用JUnit测试各层,甚至测试 jsp 输出的 w/o 错误。
● 简化开发方面,Appfuse预定义好了一套目录结构、基类、用来创建数据库、配置Tomcat、测试部署应用的 Ant 任务,帮助快速自动生成源程序和自动维护部分配置文件
下面介绍如何使用appfuse快速生成SSH项目:
maven和appfuse生成项目时,版本需要对应,不然容易出现不兼容的情况,最好是用appfuse2.0.2搭配maven2.2.1,生成过程会比较顺利。
步骤:
(1)安装相关软件:JDK,Mysql,Maven并配置相关的环境变量;
(2)修改Maven的setting.xml文件中的localReposity,保证其指向的文件夹不含有汉字和空格;
(3)输入以下语句,创建工程:
mvn archetype:create
-DarchetypeGroupId=org.appfuse.archetypes
-DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=http://static.appfuse.org/releases
-DarchetypeVersion=2.0.1
-DgroupId=com.cn.ibm -DartifactId=democenter
(4)输入:mvn appfuse:full-source 下载工程源码
(5)修改pom.xml文件中的database setting,默认的数据库用户密码为空,将其改成相应的密码;
(6)输入:mvn 下载相应的软件,比如jetty,主要是保障工程运行的组件;
(7)输入:mvn jetty:run-war 将工程部署到jetty上;
(8)在浏览器地址上输入:http://localhost:8080 可以浏览生成的工程;
(9)执行 mvn eclipse:eclipse 生成eclipse项目信息的文件,使用eclipse导入项目,建议重新生成一个webproject,将代码和页面复制到相应的目录,这时会遇到source文件夹的问题,可以添加新的src文件夹并嵌套原有文件夹就行;
(10)修改jdbcs.properties文件,因为该文件是从pom.xml文件读取数据库信息的,而在eclipse项目中去除了pom.xml文件,需要修改该文件如下:#jdbc.driverClassName=${jdbc.driverClassName}
jdbc.driverClassName=com.mysql.jdbc.Driver
#jdbc.url=${jdbc.url}
jdbc.url=jdbc:mysql://localhost/democenter?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf-8
#jdbc.username=${jdbc.username}
jdbc.username=root
#jdbc.password=${jdbc.password}
jdbc.password=123
#hibernate.dialect=${hibernate.dialect}
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
# Needed by Hibernate3 Maven Plugin defined in pom.xml
hibernate.connection.username=${jdbc.username}
hibernate.connection.password=${jdbc.password}
hibernate.connection.url=${jdbc.url}
hibernate.connection.driver_class=${jdbc.driverClassName}
(11)中文乱码问题:将eclipse项目的编码格式改成utf8方式,同时在classes目录下,添加一个bat文件,内容如下:
native2ascii.exe -encoding utf-8 ApplicationResources_zh_CN.properties ApplicationResources_zh_CN.properties2
del ApplicationResources_zh_CN.properties
rename ApplicationResources_zh_CN.properties2 ApplicationResources_zh_CN.properties
native2ascii.exe -encoding utf-8 displaytag_zh_CN.properties displaytag_zh_CN.properties2
del displaytag_zh_CN.properties
rename displaytag_zh_CN.properties2 displaytag_zh_CN.properties
native2ascii.exe -encoding utf-8 errors_zh_CN.properties errors_zh_CN.properties2
del errors_zh_CN.properties
rename errors_zh_CN.properties2 errors_zh_CN.properties
在项目编译完成后,部署到tomcat前,运行该文件。
(12)此时项目可以在eclipse中使用tomcat运行,运行结果如下: