`
bwwlpnn
  • 浏览: 7179 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

用好SSH (Struts2+Spring+Hibernate) - AppFuse 2.1 的安装运行步骤

阅读更多

AppFuse 2.1刚刚于2011年4月4日发布。2.1比2.1.0.M2最大的好处是支持jetty:run快速部署,便于你在开发时进行测试(详见下文)。另外,也修正了许多bugs.

 

对于想要用好SSH (Struts2, Spring, Hibernate)的朋友来说,AppFuse是不可多得的宝贵范例。

 

我最近正在研究SSH,并且想用学到的SSH技术,开发一个论坛项目。

 

我发现,学好SSH和用好SSH真是两件完全不同的事情。“学好”是针对基本概念,而“用好”是针对最佳实践。

 

我在SSH的基本概念学了一阵后,到要动手写代码了,却发现无从下手。因为SSH是3个既相对独立,又相互关联的框架。要想把SSH这3个框架整合到1个项目中,并且要用一些最佳实践整合好,并不是一件容易的事情。

 

AppFuse正好做了整合SSH的事情,从2007年7月11日推出AppFuse 2.0 RC1,到现在的2.1.0.M2,不仅整合好了SSH,还整合了Maven, Spring Annotations, JSF, Spring MVC, Stripe, Tapestry 5, Wicket, JDK5, Annotations, JSP 2.0, Servlet 2.4, JPA.

 

这两天把最新版的AppFuse 2.1范例下载下来,编译打包运行,这期间遇到了不少问题,不过还好,基本上都被我给解决了。同时给AppFuse的作者Matt开出了两个JIRA Issues.

 

 

 

http://issues.appfuse.org/browse/APF-1249 : i18n - displaytag_zh*.properties and errors_zh*.properties converted but input files included in WAR instead of output files

 

http://issues.appfuse.org/browse/APF-1250 : i18n - displaytag_zh*.properties and errors_zh*.properties not converted by native2ascii in pom.xml

 

 

 

这篇博文主要是把AppFuse 2.1的安装运行步骤总结一下,以后会继续把AppFuse的使用经验和大家分享。

 

1. 运行环境

  安装好以下环境(我用的是Windows 7 Home Basic):

  Java SE 1.6.0_23

  MySQL Server 5.1

  Maven 2.2.1 (有些情况下AppFuse的操作在用Maven 3.0.3时会报错)

  Tomcat 7.0.2

  Eclipse 3.6.1 SR2

  m2eclipse

 

2. AppFuse Quickstart

  打开AppFuse Quickstart页面备查:http://appfuse.org/display/APF/AppFuse+QuickStart

 

3. 生成basic范例

  在一个空文件夹下,从命令行提示窗口,运行Quickstart中下面的范例生成命令

mvn archetype:generate -B -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-struts-archetype -DarchetypeVersion=2.1.0 -DgroupId=com.mycompany -DartifactId=myproject -DarchetypeRepository=http://oss.sonatype.org/content/repositories/appfuse

 

上述命令运行成功后,会在当前文件夹下,生成一个myproject目录。进入目录,会看到范例源代码。

 

4. 获取全部源代码

  在有pom.xml的目录下,运行下面的命令,获取全部AppFuse的源代码:

mvn appfuse:full-source

 

5. MySQL的root的password

  在pom.xml文件结尾处,找到MySQL的root的password的元素,写上你的root的口令。pom.xml默认root的口令是空。

 

6. 编译运行

  在myproject目录下,在命令行提示窗口,运行下面的命令让AppFuse运行在Jetty服务器上。

mvn jetty:run

 

AppFuse 2.1最大的改进之一,就是使用了mvn jetty:run来快速部署测试你的应用程序。maven-jetty-plugin能根据pom.xml的描述,在不打WAR包的情况下,自动找到相关的文件来部署运行Web 应用程序进行开发测试,能为你省去了大量打WAR包,然后再部署到Tomcat上测试的时间。另外maven-jetty-plugin也能扫描你的源代码,一旦发现有源文件更新,它会自动重新部署Web应用。

 

等提示jetty启动完毕后,在浏览器中输入http://localhost:8080/来访问AppFuse. Login界面的用户名和口令都是admin,登录进入AppFuse范例系统。

 

你也可以运行下面命令在生成WAR包,部署到Tomcat上:

mvn clean package

 

7. 开发

  AppFuse 2.1不建议使用mvn eclipse:eclipse来生成eclipse项目文件,因为eclipse plugin的bug太多了。Matt建议直接在eclipse里使用m2eclipse,来打开AppFuse进行开发。

 

我在Eclipse里用m2eclipse进行Maven的操作很顺利。同时发现,若在MyEclipse (我用的是MyEclipse for Spring 8.6.0),取消Maven4MyEclipse功能,直接用m2eclipse也同样很顺利。

 

接下来,你就可以用Eclipse看AppFuse的代码,在Eclipse里用m2eclipse发mvn jetty:run命令打包运行,再对照着读AppFuse 的Tutorials (http://appfuse.org/display/APF/Tutorials)了。

 

 

分享到:
评论
5 楼 bwwlpnn 2011-05-13  
duanchongfeng 写道
AppFuse觉得不是很好。起码的分页都没有。


AppFuse 2.1 已经支持分页了。不仅支持分页,还支持按列排序。上传一张分页的截屏。
4 楼 duanchongfeng 2011-05-08  
AppFuse觉得不是很好。起码的分页都没有。
3 楼 bwwlpnn 2011-04-09  
kyohaha 写道
这么久才出来,早转用ss了

SS就是SpringSide吧。等我用AppFuse2.1开发完一个项目,再试试SS~~
2 楼 kyohaha 2011-04-09  
这么久才出来,早转用ss了
1 楼 kongruxi 2011-04-09  
看看SpringSide吧

相关推荐

    SSH学习及开发框架-appfuse

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

    appfuse2.0.2 Struts2 hibernate Spring 构建的基于SQLServer2005 的ssh2项目的过程全记录

    appfuse2.0.2 Struts2 hibernate Spring 构建的基于SQLServer2005 的ssh2项目的过程全记录 网上很多帖子介绍appfuse2构建过程的,但是基于SQLServer2005的没有,顶多一笔带过,另外对于期间出现的各种问题也没有个说明,...

    Hibernate+Struts+Spring

    程序描述: AppFuse是一个集成当前最流行的Web应用框架,更高层次的Web开发框架。官方的网址是:https://appfuse.dev.java.net/。在安全方面集成Spring的安全框架Acegi和最流行的Ajax技术。与其他框架相比,它提供了...

    simplejee-面向j2ee初学者的开源项目

    * 包括jsp,servlet,html,javascript,css等,以及springmvc+jdbcTemplate和 struts2+hibernate+spring, struts2+ibatis+spring 实现的登陆,CRUD,jfreechart图表显示等例子,用来演示两个mvc框架的基本使用,...

    Appfuse教程Appfuse开发.pdf

    1. **集成流行框架**:Appfuse 将 Hibernate、Struts、Spring 等框架进行了深度集成,为开发者提供了一个统一的开发平台,降低了学习和使用这些框架的门槛。 2. **提供常用功能**:框架内已经预设了如用户认证、角色...

    Java Appfuse-源代码分析-综合文档

    【Appfuse 源代码分析】Appfuse 是一个基于 Maven 的 Java 开发框架,它集成了多种主流的 J2EE 技术,如 Spring、Struts、Hibernate、Sitemesh、Velocity、XFire 和 DWR 等。通过提供一个基础架构,Appfuse 使得...

    Java框架面试题总结

    初始化完成后,Struts就准备好接收客户端请求,并按照上面所述的流程进行处理。 **3. Struts控制器组件的组成及其主要功能** - **ActionServlet**:核心控制器,负责接收请求、解析请求、分发请求给相应的Action...

    logger4j入门3

    SSH架构是一种轻量级的J2EE架构,其基础是由Struts、Hibernate和Spring这三个开源框架所构成。SSH架构因其简洁有效,在企业级应用开发中被广泛应用。它主要分为以下四个层次: 1. 表现层(前端层):在这个层次上,...

    一种Java快速开发框架的设计和实现.docx

    MiniFramework与SSH(Struts、Spring、Hibernate)等传统JavaWeb框架相比,更注重轻量化和易用性。同时,它还借鉴了J2EE、PicoContainer、AppFuse以及SpringSide等框架的优点,提供了类似的功能,但更专注于简化...

Global site tag (gtag.js) - Google Analytics