java - JEE Rest Endpoint 配置是否超越 JSF 的控制流?

标签 java web-services rest jakarta-ee soa

在 Oracle 文档中描述的 JEE 中,部署应用程序的容器通常会拦截客户端请求,并根据应用程序配置将它们路由到位于 Web 层的组件(JSF、Servlet、JSP、Rest)端点)。

下图很好地说明了这种关系。 https://docs.oracle.com/javaee/7/tutorial/webapp001.htm

如果我们使用rest端点实现rest配置,根据oracle,这些rest端点是“Web组件”,因此容器将路由用户请求,例如将index/users/1路由到用户的rest端点id 的查询参数为 1。

它如何与另一个 Web 组件(例如 JSF)集成?其余端点配置是否实质上劫持了到 JSF 的路由?其余端点是否还负责在对客户端的 http 响应中包含特定的 View 组件?我的印象是,在 SOA 中,休息端点仅提供一种服务来检索基于休息状态的数据,以呈现给当前 View 的当前模型。

例如,按照我的解释,它应该是这样的。

Client Request ----> JSF servlet------>call rest endpoint
Gets new page  <-- Update Model <-------end point talks to DB and returns data
           and spit out new html page

当 Oracle 文档将其余配置包含为 Web 组件时,我是否误解了它们的具体内容?

最佳答案

在 web.xml 中,您可以为不同的组件设置不同的部署描述符。因此,您可以根据根上下文将请求路由到不同的组件。例如,www.site.com/rest/service 可以根据“/rest”上下文路由到 Rest API,并且您可以使用/faces”上下文将其他请求路由到 JSF servlet。

This link解释得很好。

关于java - JEE Rest Endpoint 配置是否超越 JSF 的控制流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35365594/

相关文章:

java - Selenium : How to retrieve WebDriver's implicitWait time in Java?

java - 使用 Class.getResourcesAsStream 获取 Apache Commons 配置

java - 在类里面找不到密码的 getter

java - 如何将 Java 后端与 .NET 前端连接

java - Java 中的 RESTful Web 服务

java - Websockets 无法在 Google Compute Engine 上部署的 Tomcat 服务器上运行

java mvn : package javax.激活不存在并且mvn install无法解决

Java:禁用 SSL 证书检查的覆盖函数

javascript - 使用 JavaScript 访问 Azure 中运行的 Web 服务

Vert.x 上的 Java Rest API