我听到了一些消息,并看到了一些使用ASP.NET/PHP构建的Web应用程序的示例,我想知道在Java世界中做类似事情的等效方法是什么。 在Wikipedia上,我发现了很多框架,我感到困惑,哪一个是最好的。
PHP和"经典" ASP的Java等效形式是带有脚本(嵌入的原始Java代码)的JSP(JavaServer Pages)。在Java Web开发领域,小脚本被认为是不良实践。在脚本集之上,应优先选择Taglibs和EL(表达语言)。与ASP.NET(MVC)等效的Java将是Java MVC框架。目前有很多基于Java的MVC框架,其中大多数都提供了一个基于Servlet / Filter的控制器和taglib,以与模型(通常是Javabean)和视图(通常是JSP页面,但也可以XHTML)进行交互。
首先,Java EE API为此提供了JSF(JavaServer Faces),而JSF又与称为Facelets的基于XHTML的模板化视图技术一起提供。 Facelets被视为是旧的JSP的替代品。此外,有许多开源Java MVC框架是在JSP / Servlet API之上构建的,旨在替代JSF。您在这里几乎找不到所有这些信息,最受欢迎的是Spring MVC,Struts2和Stripes。
至于选择哪一个,我建议看看我非常同意的答案。
+1非常好的答案
这个好答案又是+1。
@BalusC根据这个问题,似乎ASP.NET MVC是一个请求(动作)MVC框架,对吗? (我假设请求/操作和基于组件是MVC框架的两个唯一/主要组)。 顺便说一句,BTW Im也很好奇这与PHP等效。
与PHP或NodeJS相比,请分享一些有关GlassFish和JavaEE使用服务器硬件资源的经验。 Java通常被认为是非常浪费的。
最好不一定与最主流相同。我认为最直接的等效项(由于其标准的跟踪特性)是JSF 2.0和Facelets。
话虽这么说,但仍有其他框架存在的原因……最好评估几个框架,并确定哪个框架最适合您团队的开发风格。
另请参阅此问题。