我有一个与数据库对话的相当大的(80k loc)Java桌面应用程序。我们现在正在考虑使用现有的代码库通过Web应用程序公开数据库的某些部分,最好不必修改它。
我在数据访问,业务逻辑和表示层之间有很好的分离,但我们没有使用过企业java bean或类似的东西(如果这很重要)。
前进的最佳方式是什么?哪个java Web框架最适合这个问题?学习曲线并不是非常重要,因为我没有在网上进行任何Java开发......
答案 0 :(得分:1)
说实话,这取决于您已有的内容,以及当前桌面应用程序的设计有多好。如果它的设计很糟糕,并且一切都紧密耦合,你可能无法使用任何或可能是现有代码的最小部分而不进行修改。
假设您拥有一个设计良好的系统,那么所有内容都可以很好地解耦。您可以查看 Stripes 来制作网络演示文稿,并使用现有的数据访问和业务代码。祝你们好运。
很少其他好东西, Groovy on Grail , Wicket 。
我不推荐像 Seam 和 Spring 之类的东西,它们更像是一个容器和复杂的大型框架,几乎可以为您提供所有内容解决几乎所有问题。正如您所提到的,您已经拥有一个完整的系统,并且您只需要创建一个Web界面来为Web发布它,不建议使用这些系统,IMO。
JSF ,是一个良好的框架,但它可能让你疯狂并且有一个大的学习曲线据少数人说。
答案 1 :(得分:0)
Grails附带了一大堆内容,包括Hibernate和Spring。它使生成动态页面发送到浏览器非常容易。你可能需要做的是设置调用Grails服务的控制器,它引用你现有的代码,因为你可能不希望Grails管理你的数据库交互。 Grails的缺点并不在于它是用Groovy编写的,这对Java程序员来说很容易学习,但IDE对Groovy的支持仍然日趋成熟。如果你想要快速的生产力,这仍然是下降的途径。
Struts 2提供了一个干净的命令模式框架实现,它与前端的JSP(或速度或FreeMarker模板)进行通信。要使用此功能,您需要配置操作以调用现有代码。您可能需要根据您的需要调查将Spring添加到混合中。
还有其他选择,但这些是我取得了一些成功的两个选择。