【发布时间】:2015-05-01 06:37:47
【问题描述】:
在我的实验室中,我被要求使用 JSF 框架和 REST 创建一个简单的网站。我对这两个做了一些研究。事实证明,对于 REST,我必须使用带有 Jersey 的 JAX-RS 框架。我想知道如何集成 JAX-RS 和 JSF 这两个框架?
我已经在 web.xml 中为 JSF 提供了以下 servlet:
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/test/*</url-pattern>
</servlet-mapping>
对于泽西岛,我认为我必须在 web.xml 中使用以下 servlet:
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.jbm.rest</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
现在我担心的是,在我看来,这个 Jersey servlet 将取代 web.xml 中的 Faces servlet。这会将我的应用程序从 JSF 更改为 JAX-RS。但我想保留 JSF 并使用 JAX-RS。我该怎么做?
【问题讨论】:
-
我认为这两个框架将共存,您可以根据调用的 URL 调用它们中的任何一个。
-
你能告诉我如何相应地进行 url 调用吗?
-
像
http://host:port/yourapp/test/*用于 JSF 和http://host:port/yourapp/api/*用于 REST
标签: jsf servlets jersey jax-rs