什么是 ASP.NET / PHP 的主流 Java 替代品

Posted

技术标签:

【中文标题】什么是 ASP.NET / PHP 的主流 Java 替代品【英文标题】:What is the main-stream Java alternative to ASP.NET / PHP 【发布时间】:2011-02-03 03:13:48 【问题描述】:

我听说过一些使用 ASP.NET / php 构建的 Web 应用程序示例,我想知道在 Java 世界中做类似事情的等效方法是什么。查看 Wikipedia,我发现了很多框架,但我有点困惑哪个是最好的。

【问题讨论】:

【参考方案1】:

PHP 和 "Classic" ASP 的 Java 等效项是带有 scriptlets(嵌入原始 Java 代码)的 JSP (JavaServer Pages)。 Scriptlet 在 Java Web 开发世界中被认为是 poor practice。 Taglibs 和 EL(表达语言)应该优先于 scriptlets。 ASP.NET (MVC) 的 Java 等价物将是 Java MVC 框架。有很多基于 Java 的 MVC 框架,主要提供基于 Servlet/Filter 的控制器和标记库来与模型(通常是Javabean)和视图(通常是 JSP 页面,但也可以使用 Xhtml)进行交互.

首先,Java EE API 为此提供了JSF (JavaServer Faces),而这又与称为Facelets 的基于XHTML 的模板化视图技术一起提供。 Facelets 被视为旧 JSP 的替代品。此外,还有许多构建在 JSP/Servlet API 之上的开源 Java MVC 框架,它们旨在作为 JSF 的替代方案/竞争。你可以找到所有here的一些信息,流行的是Spring MVC、Struts2和Stripes。

至于选择哪一个,我建议看一下this answer,我非常同意。

【讨论】:

这个不错的答案又是一个 +1。 @BalusC 根据this question 看来,ASP.NET MVC 是一个请求(动作)MVC 框架,对吗? (我假设请求/动作和基于组件是 MVC 框架的两个独特/主要组)。顺便说一句,我也很好奇这将是一些 PHP 等价物。 请分享一些使用 GlassFish 和 JavaEE 与 PHP 或 NodeJS 相比的服务器硬件资源使用经验。 Java 通常被认为非常浪费。【参考方案2】:

最好的不一定和最主流的一样。我认为最直接的等价物(由于其标准跟踪性质)是 JSF 2.0 和 Facelets。

话虽如此,存在其他框架是有原因的...最好评估几个并确定哪个最适合您团队的开发风格。

另见this question。

【讨论】:

以上是关于什么是 ASP.NET / PHP 的主流 Java 替代品的主要内容,如果未能解决你的问题,请参考以下文章

Asp.net mvc和asp.net有啥区别?

单例模式的理解php

asp.NET就业前景

.net 技术都有哪些主流框架应用?

asp/php/asp.net 上传附件大小修改怎么操作?

什么是 ASP.NET?