在 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/