在遗留Java/JSP web应用程序中使用Groovy/Grails

在遗留Java/JSP web应用程序中使用Groovy/Grails,grails,groovy,Grails,Groovy,我很幸运能够从圣杯开始重新做起。然而,许多人问我如何将Groovy和/或Grails添加到遗留Java/JSP web应用程序中。人们对如何将Groovy和Grails最好地包含到大型遗留应用程序中有经验或建议吗?我看到的一件事是使用Grails作为企业Java应用程序的管理接口。这并不是你所要求的,因为没有集成。在Grails中,只有一组需求可以很容易地进行划分和快速开发。实际上,它们是独立的应用程序,但使用相同的数据。我首先要在JSP和grails应用程序之间共享数据模型(grails可以使

我很幸运能够从圣杯开始重新做起。然而,许多人问我如何将Groovy和/或Grails添加到遗留Java/JSP web应用程序中。人们对如何将Groovy和Grails最好地包含到大型遗留应用程序中有经验或建议吗?

我看到的一件事是使用Grails作为企业Java应用程序的管理接口。这并不是你所要求的,因为没有集成。在Grails中,只有一组需求可以很容易地进行划分和快速开发。实际上,它们是独立的应用程序,但使用相同的数据。

我首先要在JSP和grails应用程序之间共享数据模型(grails可以使用普通Java类和hibernate配置运行,因此如果您已经在使用hibernate,那么重用hibernate类应该不难)。然后我会将每个jsp/servlet原样迁移到grails。如果您已经在使用spring,它应该会使事情变得更简单,因为您可以共享相同的应用程序上下文


根据应用程序的大小和其他要求,重写整个过程可能更好,特别是如果遗留应用程序不使用spring或hibernate。

我想这取决于“向应用程序添加grails/groovy”的含义——因为grails是一个完整的堆栈,如果“添加”的意思是用新的替换旧的,那么它可能值得重写

我发现这篇文章描述了如何让Groovlet和gsp 工作,指定web.xml更新和 项目

我将以下jar文件添加到我的项目中,Groovlet工作正常

groovy-1.5.7.jar
asm-2.2.jar
antlr-2.7.6.jar


我还没有看到gsp在工作。

这篇IBMdeveloperWorks文章详细介绍了gsp

可以帮助将遗留数据库映射到grails域对象的工具是。它是一个方便的工具,可以帮助您生成映射类

第三种选择是不对gorm/域层使用Grails。相反,因为它在Java中工作得非常好,所以您可以创建这样的服务


我希望这些方法中的一种适合您。

正如其他人所说,Grails是一个完整的堆栈,因此将Grails添加到现有Java应用程序可能不是您想要的。然而,将Java添加到现有的Grails应用程序并不重要。将Groovy添加到现有Java应用程序可能也不太难


这在很大程度上取决于您所谈论的Java应用程序的类型。Grails是基于Spring MVC、Hibernate和类似的标准Java技术构建的,因此如果您的Java应用程序使用了所有这些技术,那么使用一些遗留Java代码将应用程序转换为Grails可能会很容易。

我已经在回答中概述了如何在现有Java/JSP项目中包含Groovlet。
http://www.ibm.com/developerworks/java/library/j-pg03155