缩短JBoss Seam应用程序中REST服务的路径仍然是错误的

时间:2010-10-26 21:16:35

标签: java rest jboss seam url-pattern

我有一个类似的问题: Shorten path of REST service in JBoss Seam application 但由于我最初的代表,无法评论船长答案。他在7月19日18:10的评论误解了这种情况:

Faces servlet由url-pattern *.xhtml映射,Seam Resource Servlet映射到/*/*现在获取所有网址格式,甚至是*.html的网址格式,因为它在网址格式匹配方面具有更高的优先级。

我可以在代码中的components.xml上更改什么(默认行为): <resteasy:application resource-path-prefix="/rest"/> 并在下面的代码中的web.xml上:

<servlet-mapping> 
    <servlet-name>Seam Resource Servlet</servlet-name>
    <url-pattern>/seam/resource/*</url-pattern>
</servlet-mapping>

在某种程度上,我的RestEasy资源可以通过/rest/<resource>而不是/seam/resource/rest/<resource>之类的路径访问,而不会使我的*.xhtml面对servlet失效(使用他的提示改变Seam Resource Servlet url-模式为/*)?

(kongo09基本上是未解决的问题,更详细)。

1 个答案:

答案 0 :(得分:0)

您正在寻找网址重写解决方案。 Seam / RestEasy仍然可以获得完整的URL,但客户端将获得一个非常短的URL。

如果你使用AJP和Apache作为前端,你可以使用httpd的标准mod_rewrite http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

如果你能买得起JSF2,一个更简单的解决方案是PrettyFaces http://ocpsoft.com/prettyfaces/

相关问题