使用哪种服务器端Java技术与ExtJS配合使用?

4
我们计划升级使用Struts/JSP/EJB编写的6-8年历史应用程序的UI框架,改用ExtJS。只是好奇人们在服务器上使用最广泛的Java技术是什么。我们正在研究几种替代方案,例如:
  1. DWR
  2. RestEasy
  3. Restlet
  4. Struts-Json
我们更倾向于使用DWR,但只是想知道编程社区对此是否有什么建议。
出于向后兼容性原因,迁移将逐步进行,在此期间,我们将尝试使ExtJS与旧的Web1.0风格页面共存。我们不会更改业务层,只是将Web层从JSP更改为ExtJs页面。
7个回答

3
如果你打算使用ExtJS,那么你是否考虑过使用ExtGWT呢?它可以提供更好的Java集成。

1
但这将以失去对生成内容的控制为代价。如果您的网站不仅是EXT,而且还有Twitter Bootstrap前端呢? - husayt

3

我们团队以前也使用Struts。现在我们改用DWR,并且非常喜欢它。我们使用DWR和Ext的经验非常好。减少了很多样板代码,无论是在Java端的DWR还是JavaScript端的Ext中都如此。还有一个ExtJsWithDwr项目可帮助整合两者:http://github.com/BigLep/ExtJsWithDwr


1

如果你想使用GWT,我建议使用ExtGWT,或者是使用Metro(或任何Java RESTful实现 - JSR 311)+ ExtJS,它们也很棒。


1

我们一直在成功地使用Restlet,它可以用于不是100% RESTful的应用程序(我们有一些区域比较随意)。虽然它不是一个完整的解决方案,但它具有与其他技术的良好集成。例如,我们使用Restlet对Apache FreeMarker模板生成器的支持来生成我们的XHTML/CSS页面。

我们生成的页面使用jQuery,而ExtJS也同样适用。Restlet还有一个GWT模块


1

同时也可以看看Jersey。它是JAX-RS(JSR 311)的一个非常有用的实现,很容易集成到像你这样的现有项目中。

如果我是你,我会创建一个单独的包(甚至是EAR/WAR),其中包含只与现有EJB通信并作为REST服务公开的类,以便ExtJS可以与之通信。


我想知道,你会怎么通过Jersey提供非REST内容,比如模板HTML和其他的东西。我的意思是类似于@Jim Ferrans用RestLet做的那种方式。 - husayt
你可以将它与像 Mustache(http://mustache.github.com/)这样的模板库一起使用。 - Damo

1

我一直在使用类似项目 jabsorb,它与DWR非常相似,但符合JSON-RPC标准。


0
你可能想要查看Myna(http://mynajs.org)。这是一个作为J2EE war文件部署的服务器端JavaScript应用程序平台。作为服务器端JavaScript,它与Ext集成得很好。事实上,所有内部管理UI都是用Ext编写的。 Myna具有几个您可能会发现有用的功能:
  • 基于Web的管理应用程序。无需编辑XML文件
  • 基于Web的数据库管理员。可以运行查询,创建/编辑/删除表,并从GUI生成Myna和SQL代码
  • 集中化数据源管理和池化数据库连接
  • 支持SOAP、XML-RPC、JSON-RPC和MYNA-JSON的Web服务类,将很快支持Ext.Direct!
  • 支持处理PUT、POST、GET和DELETE HTTP请求
  • 支持在JavaScript代码中加载POJO(通过Rhino)
  • 运行时对象关系映射。当数据库表更改时,无需编辑XML文件或重新编译类
  • Javascript预处理器支持带有隐式准备语句和类型参数的多行SQL查询
  • 查询支持分页和返回总行数,与Ext的网格和PagingToolbar配合使用效果良好

    充分披露:我是Myna的主要开发人员


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接