【问题标题】:Shorten path of REST service in JBoss Seam application still wrong在 JBoss Seam 应用程序中缩短 REST 服务的路径仍然错误
【发布时间】:2011-04-30 23:55:33
【问题描述】:

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

Faces servlet 由 url-pattern *.xhtml 映射,Seam Resource Servlet 映射到 /*/* 现在可以获取所有 url 模式,甚至是 *.html 的那些,因为它在 url-pattern 匹配上具有更高的优先级。

我可以在代码中对 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/&lt;resource&gt; 之类的路径访问,而不是 /seam/resource/rest/&lt;resource&gt;,而不会使我的 *.xhtml 面 servlet 无效(使用他将 Seam Resource Servlet url-pattern 更改为 /* 的提示) ?

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

【问题讨论】:

  • 我尝试过以下变体:a) /rest/* 或 b ) / 但是不成功...

标签: java rest jboss seam url-pattern


【解决方案1】:

您正在寻找 url 重写解决方案。 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/

【讨论】:

    猜你喜欢
    • 2011-03-15
    • 2011-05-16
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 2011-10-20
    • 2011-10-26
    • 1970-01-01
    相关资源
    最近更新 更多