Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSF与SpringMVC的优势是什么?_Jsf_Spring Mvc - Fatal编程技术网

JSF与SpringMVC的优势是什么?

JSF与SpringMVC的优势是什么?,jsf,spring-mvc,Jsf,Spring Mvc,我试图找出除了JSF实现提供的一组不同的UI组件之外,将JSF与SpringMVC结合使用还有什么好处?两者都是MVC,并且都有不同的透视导航处理(在某种程度上,两者都很容易理解)。假设我在应用程序中同时使用JSF和SpringMVC,那么设计、实现和维护会带来什么好处 它们都是MVC,但是JSF是面向组件的,而springmvc是基于动作的 您可以自己查找这些术语的确切含义,但简而言之,JSF允许用户界面由高级视觉构建块(滑块、面板、进度条等)组合而成 SpringMVC并没有对实际的UI说太

我试图找出除了JSF实现提供的一组不同的UI组件之外,将JSF与SpringMVC结合使用还有什么好处?两者都是MVC,并且都有不同的透视导航处理(在某种程度上,两者都很容易理解)。假设我在应用程序中同时使用JSF和SpringMVC,那么设计、实现和维护会带来什么好处

它们都是MVC,但是JSF是面向组件的,而springmvc是基于动作的

您可以自己查找这些术语的确切含义,但简而言之,JSF允许用户界面由高级视觉构建块(滑块、面板、进度条等)组合而成

SpringMVC并没有对实际的UI说太多。它强调一个控制器,您可以将其映射到URL路径及其参数。在处理之后,您可以直接/转发到呈现视图的内容(通常是JSP,但最近经常使用SymphleAF)

JSF是JavaEE的一部分,它还附带了一个框架,该框架具有SpringMVC的“类到URL”绑定特性;JAX-RS。JAX-RS本身既不是MVC也不是基于请求的web框架,而是一个web服务框架

在一个应用程序中使用两个不同的web框架非常令人困惑,我不推荐这样做

等等,伙计

MVC是一种体系结构模式,它(在应用程序体系结构中)在以下内容之间创建概念划分:

  • 模型:提供访问应用程序使用的数据的方法
  • 视图:处理模型中包含的数据的显示,并管理与用户和代理的交互
  • 控制器:接收来自用户的命令(通常通过视图),并实现更改其他两个组件的状态
除其他外,该方案还意味着应用程序逻辑(在本文中通常称为“业务逻辑”)与加载视图的用户界面之间的传统分离

因此,MVC是一种架构模式,与特定语言或特定技术无关。 SpringMVC是一个实现这种模式的Java框架

好的,对于视图,我们可以使用不同的技术,包括JSF(Java服务器面),它们为您提供一些预先制作的组件(由特定的视图框架实现),您必须直接在视图中使用标记库声明这些组件

现在有很多源于JSF的自由视图框架,比如PrimeFaces和IceFaces

JSP及其派生的所有框架本机支持对程序员隐藏AJAX,因此开发人员不必担心它

我建议您看看PrimeFaces组件展示,它向您解释了此视图技术的所有功能:

例如,您可以在不深入了解AJAX表单的情况下处理它,尤其是在不了解或使用Javascript的情况下

这是您可以在showcase中找到的最简单的AJAX表单示例:

使用这种视图技术,您可以为表单、菜单和许多其他内容使用许多组件


主要优点是不必编写一行JavaScript来代替组件

我不会重复其他答案中的定义。JSF(及其组件套件)可以帮助您更快地构建应用程序,因为您的工作只是将所有内容粘合一次,只需关注业务规则(或为应用程序添加价值)并通过组合组件来构建UI。您不必测试您的组件,也不必主要针对Javascript

在SpringMVC中,您起步很慢,但它有很大的自由来实现您想要的任何东西,而不是依赖组件(主要是与JSF通信的JavaScriptUI),甚至可以不费吹灰之力地实现Web服务。但是您必须测试、测试和测试这样的UI结构


如果你正在寻找混合动力车,也许会有帮助。有了它,您可以使用JSF组件和一个很好的Spring MVC控制器抽象层,即使您愿意,也可以使用它们。

我明白了,JSF实现提供程序让许多丰富的组件变得简单。但是,将JSF与SpringMVC结合使用有什么好处呢?优点我的意思是,如果我只选择JSF,我将编写100行代码,但是使用SpringMVC的JSF,我的代码将减少到80行。另外一个场景是,如果我正在开发需要频繁更改的应用程序,那么选择JSF和SpringMVC会有什么帮助呢?它使维护变得不那么痛苦吗?主要的优点是,您可以在不知道Javascript(或一些Javascript框架,如JQuery)的情况下,使用预先制作的工具来实现RIA视图(富Internet接口:)​​对于最常见的用途来说,非常适合的组件。在实践中,您不可能了解Javascript,也不必在每次需要实现公共用例(处理表单、菜单等)时都重新设计轮子。您不同意将JSF和Spring MVC一起使用的观点。JSF根本不是纯视图,FaceletsJSP是。它是面向视图的,但它一直是一个完整的MVC框架。JSF和SpringMVC与Struts处于同一级别。