如果想使用jQuery,哪种Java web框架最好

如果想使用jQuery,哪种Java web框架最好,java,jquery,frameworks,Java,Jquery,Frameworks,我非常擅长jQuery,并在许多PHP网站上使用过它 现在我只想选择一个Web框架,通过这个框架,我可以使用jQuery达到与PHP相同的级别,但使用Java 那么,我应该选择哪个web框架呢?你是说哪个MVC框架?没关系。JQuery或任何其他Javascript框架都独立于您使用的Java框架。对于Java,我建议使用Spring的REST框架,您可以在请求和响应中使用JSON。通过使用JSON将数据返回客户端,您可以使用JQuery解析JSON、操作数据,然后以编程方式操作HTML文档 这

我非常擅长jQuery,并在许多PHP网站上使用过它

现在我只想选择一个Web框架,通过这个框架,我可以使用jQuery达到与PHP相同的级别,但使用Java


那么,我应该选择哪个web框架呢?

你是说哪个MVC框架?没关系。JQuery或任何其他Javascript框架都独立于您使用的Java框架。

对于Java,我建议使用Spring的REST框架,您可以在请求和响应中使用JSON。通过使用JSON将数据返回客户端,您可以使用JQuery解析JSON、操作数据,然后以编程方式操作HTML文档

这种方法的优点是,它更容易将内容、行为和表示分开。如果您与一个具有不同编程背景的设计团队一起工作,并且您的HTML/CSS技能不如他们,那么这种方法对于保持关注点分离非常有效


除此之外,任何框架都可以工作,因为JavaScript和服务器端语言在完全不同的环境中运行。

正如您已经听说的,在使用某些JavaScript库时,基于组件的框架有点不可靠。我个人只使用了一些,所以我无法创建一个明确的列表。然而,我确实使用过基于组件和基于模板的框架,因此我敢说,我至少在这方面有一些受过教育的观点可以表达:

一般来说,基于组件的框架通常比较难使用,主要是因为它们将“Ajax通道”集成到自己的内部。作为一个例子,目前非常流行的实现其所有的Ajax的东西本机,有时,确实表现为在某些平台上被打破等等。这种集成的原因通常是,框架的开发人员可以完全依赖其框架中Ajax函数的行为;通过定制实现,他们可以依靠它并可能更快地调试它。当然也有例外(甚至Wicket也有自己的jQuery实现),但即使如此,这种集成也可能低于您正常编写的功能

现在,基于请求的框架(我纯粹根据我的经验将它们归类为基于模板的框架)通常允许您对页面的各个部分进行更细粒度的控制,通常,您甚至会在这里或那里编写带有一些魔术标记的最终标记,用于将web应用程序的动态部分与静态布局链接起来。考虑到这一点,很明显,作为开发人员,这些通常允许您选择您选择的JavaScript库,但这是一种权衡;无论基于组件的框架在这一点上提供什么,您都需要自己重新实现。最常见的情况是,这仅限于处理Ajax请求,但不同的框架会有所不同

总结一下,如果您真的想使用jQuery(为什么不使用),并且不同意它在基于组件的框架中的集成方式,那么看看其他类型的jQuery可以提供什么



如果我必须推荐一些我认为非常适合您的东西,我会推荐使用纯Java作为后端之类的东西,但这种组合实际上并不存在,因为GSP是基于web应用程序框架的视图部分。

我会推荐grails(没有支架,也没有主布局:使用css和jquery(验证、日期选择器和填充物)设计您自己的布局),但由于它大量使用对象,有时您的应用程序可能会耗尽内存,您需要分配大内存。您无法避免一些您可能不需要这些沉重内容的地方(因为每个声明都隐式地创建getter和setter),但是grails中的应用程序开发非常快,您将有一个习惯,在当前数据中使用很酷的东西作为版本控制(但是如果您有事务,那么为什么需要它们,我不知道),如果您不想进入脚手架的麻烦,但仍然希望将其作为参考,那么您可以有两个副本(一个由脚手架生成的代码)还有一些没有它,这样你就可以开发你自己的版本了,你可以参考框架版本仔细地设计应用程序。在java中使用50个不相关的东西之前,你一定要尝试一下(总是讨厌的)只开发一个简单的网站。

等等,什么?JQuery和Java没有关系,老实说,你听起来好像不知道自己在说什么。不知道这有什么关系。JQuery是客户端javascript框架,无论服务器端框架如何,你都可以使用它。我读到JQuery很容易与基于请求/的fram一起使用eworks而不是基于组件的框架。这是真的吗?这就是我问的原因that@user564477这实际上是一个很好的问题,表明您理解您所问的内容。也就是说,实现语言与此无关。我将重新措辞您的问题,以集中于您在评论中所说的内容。+1来反驳人们不理解这个问题的人。这个问题很有意义,不理解的人应该去其他地方。REST和Spring是MVC吗different@user564477:SpringMVC中的REST只是底层动态数据的另一个视图;按照jmort253的建议,您可以完全在Spring之上创建一个富web应用程序,正如他所描述的贝丝。