Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.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
Java JAX-RS适合作为MVC框架吗?_Java_Model View Controller_Jakarta Ee_Web Frameworks_Jax Rs - Fatal编程技术网

Java JAX-RS适合作为MVC框架吗?

Java JAX-RS适合作为MVC框架吗?,java,model-view-controller,jakarta-ee,web-frameworks,jax-rs,Java,Model View Controller,Jakarta Ee,Web Frameworks,Jax Rs,,但我想知道JAX-RS是否真的是构建供人使用的web应用程序的好选择 如果用户在表单中输入了错误或不完整的信息,应该像Grails或Wicket一样再次显示。使用JAX-RS有一种舒适的方法来实现这一点吗 据我所知,如果没有给出所有必需的参数,或者存在类型转换问题(例如Date),URI映射无法正常工作。对吗 是否支持国际化模板 这是一个例子。但是它非常简单,i18n和验证之类的东西没有被讨论。JAX-RS是JavaEERESTful框架。JavaServerFaces(JSF)是JavaEE

,但我想知道JAX-RS是否真的是构建供人使用的web应用程序的好选择

如果用户在表单中输入了错误或不完整的信息,应该像Grails或Wicket一样再次显示。使用JAX-RS有一种舒适的方法来实现这一点吗

据我所知,如果没有给出所有必需的参数,或者存在类型转换问题(例如Date),URI映射无法正常工作。对吗

是否支持国际化模板


这是一个例子。但是它非常简单,i18n和验证之类的东西没有被讨论。

JAX-RS是JavaEERESTful框架。JavaServerFaces(JSF)是JavaEEMVC框架。它支持您在问题中提到的所有内容:错误时回发到相同的表单,i8n/l10n等等。要了解更多关于JSF的信息,请浏览

您可以使用JAX-RS实现一些MVC,但它不是一个成熟的MVC框架。同样的道理是,您可以使用JSF实现一点RESTful,但它不是一个成熟的RESTful框架


如果你想两全其美,我想你真的需要去或。

这一个有很多问题,我将对其中两个提出我的看法

“我想知道JAX-RS是否真的是构建供人使用的web应用程序的好选择。”

Web服务通常是供机器进行交互的,尽管我认为交互通常是由人类进行编程的——这需要与SOAP进行比较,目前,在SOAP中,从WSDL生成的机器代码的范围要大得多

“如果用户在表单中输入错误或不完整的信息”

  • 然后,在接受html表单表示的RESTful HTTP web服务中,您应该返回HTTP错误400,因为客户机提供的表示与您的服务期望的表示不一致—由客户机处理错误

或者采用集成方法来实现两个方面的最佳效果:JAX-RS+MVC

JAX-RS的JBoss RESTEasy实现与SpringMVC集成。看


这里有一个关于RESTEasy+SpringMVC的小教程:

是的,你可以,但是你必须清除旧的页面发布模型,开始把你的应用程序看作是一个与RESTful SOA通信的断开连接的UI。当输入表单数据时,如果数据不正确,它将发送到服务端点,然后您将返回一个错误,UI将处理该错误。在传统的页面发布模型中,您不会将表单发布到服务器,而是对后端系统进行类似RPC的调用。您的视图将与MVC堆栈的其余部分完全分离。这使得用定制移动或IVR系统替换视图变得极其简单

如果用户在表单中输入了错误或不完整的信息,应该像Grails或Wicket一样再次显示。使用JAX-RS有一种舒适的方法来实现这一点吗


对于富internet应用程序,您不必重新填充数据,因为您从未离开过页面,会向服务器发出XHR调用,并返回成功200或错误。然后,UI根据该响应决定要做什么,但页面仍然完整,因为调用来自主UI线程。

看看-这是一个MVC框架,位于JAX-RS之上。因此,答案是-是的,JAX-RS非常适合MVC设计。

简短回答:是的

它是为JavaEE8实现
MVC
(MVC1.0-
JSR371
)的基础。
Controller
将是一个带有
@Controller
注释(在类或方法上)的JAX-RSbean

有关mor信息,请参阅:


如果您当时选择了这条路,您已经做出了一个非常好的决定,那么升级和使用新的Java EE 8 MVC体系结构应该会更容易。

谢谢。我知道JSF,但我正在寻找一些RESTful的东西来构建GUI应用程序。看看Ruby或Groovy on Rails。Grails是Ruby on Rails的灵感来源,但不是克隆。我的两分钱,巴卢斯:)我同意在发送错误数据时返回400状态。但是,当数据以表格形式输入时,仅此一点是没有帮助的。突出显示表单字段会更好。天哪,你认为rails的幕后发生了什么?你已经多次声明你想要一种安静的方式来做事。我想你需要仔细阅读一下这意味着什么:谢谢你分享这篇有趣文章的链接!这意味着几乎所有与服务器的通信都使用JavaScript,对吗?是的,这是核心概念之一,服务器由两部分组成,web服务器提供静态HTML,应用服务器是一系列用于数据和业务逻辑的REST端点。通过浏览器,您可以调用XHR来获取数据和表单处理、业务逻辑。很好的一点是,这为您提供了非常细粒度的控制。例如,您可能希望在输入所有信息后验证表单,但也可能希望检查是否在表单输入点使用了用户名。通过在XHR/JAX-RS调用中同时执行这两个操作,您就有了一个共同的体系结构。为了澄清服务器由两个部分组成,它们在物理上可以是同一台服务器,只需将它们视为两个不同的实体即可。此外,我个人使用的CMS可以将静态HTML导出到web服务器。这提供了无运行时依赖项的模板。我不使用JSP,而是使用纯HTML、CSS和JavaScript构建前端。+1这里的关键是JAX-RS资源不仅用作RESTful API,还用作Ajax回调端点。当accept头分别包括“text/html”和纯XML或JSON数据(如果是“application/XML”或“application/JSON”)时,通过使用数据的UI表示形式进行回复,继续REST范式。