选择一个良好的Web开发框架

时间:2009-09-10 08:42:03

标签: java netbeans frameworks migrating

基于this question的已接受答案我已经设置了NetBeans / tomcat环境。 在测试这个设置时,我正在尝试创建一个Java Web / Web应用程序,但是被这个测试应用程序的框架选择所困扰。

选择是:

  • Spring Web MVC 2.5
  • JavaServer Faces
  • Struts 1.3.8
  • Hibernate 3.2.5

在我的阅读中(谷歌搜索& SO)并且相当快地在树林中迷路了,所以我正在考虑选择一个,如果它没有成功,以后转换/迁移到另一个。这种方法是否可行?


项目背景

(由于遗留代码必须基于Java)
它使用自签名小程序进行客户端渲染。相互作用;
Servlet检索客户端请求的数据集;
数据库可能在某个远程服务器上,所以我打算使用JDBC来访问它;

遗留系统是基于CORBA(ACE / TAO)的,需要将许多C ++模块转换为Java,并且需要更改现有的Java模块(幸运的是很少)才能使用新翻译的Java-模块。

如果您能够提出更好的方法来处理这个项目,请告诉我。

(这个项目有我喜欢的所有标志:它很有趣,很有挑战性,而且我学到了新东西)

3 个答案:

答案 0 :(得分:3)

首先,一般来说,仔细查看整个Spring Framework并不会有什么坏处。 documentation非常好,从非常基本的模块开始,直到web MVC层(你可以决定是否要使用它,例如Struts Integration也可以 - 但我发现Struts总是无论如何都要麻烦)。 Hibernate可能是最受欢迎的Object Relation Mapper框架。它用于存储,查询和检索域模型对象(您要存储在数据库中的所有内容),但与Web层没有任何关系。

我个人不喜欢JSF(另一个规格怪物,它需要花费更多时间才能进入它)。如果您喜欢基于窗口小部件的方法(将页面与组件放在一起而不是输出普通的旧HTML),您可能需要查看Google Web Toolkit

另一个Spring溶液是GRails。使用它真的很有趣,即使您必须学习另一种(脚本)语言(称为Groovy),您仍然可以在Framework中使用所有Java遗留条款,因为Groovy类与Java类兼容(反之亦然)。

顺便说一下。我认为CORBA是一种技术/协议/标准,特别允许您独立于语言访问方法和对象。维基百科:

  

公共对象请求代理   架构(CORBA)是一个标准   由对象管理组定义   (OMG)支持软件组件   用多种计算机语言编写   并在多台计算机上运行   共同努力,即它支持   多个平台。

那你为什么要翻译C ++模块与Java交谈?

答案 1 :(得分:3)

首先,将Hibernate从您的列表中删除 - 如果您有ORM要求,则建议您使用它,但它与Web层无关。

然后我认为你有两个选择:

  • Spring MVC和JSF
  • Struts的

沿着这两条路线走下去将把你提交给那些/那些API,并且以后的转换永远不会是无痛的。

我的建议是:

  • 使用Spring MVC - 你可能会使用Spring,所以这是一个很自然的选择。
  • 忽略JSF,自己编写HTML,使用JSTL渲染bean。
  • 使用JQuery / JavaScript来丰富用户体验。
  • 使用Hibernate进行对象持久化。

答案 2 :(得分:1)

我认为最好选择最小值,然后根据需要添加。有可能你以这种方式获得简单。

一个想法可能是从Spring开始作为您的“宏观计划”和集成技术。然后根据需要添加补充:

  • 持久性:Hibernate
  • javaScript:选择一个与你正在使用的Spring MVC模块配合良好的js库