2

次のような質問が ありました。JBossSeamアプリケーションでRESTサービスのパスを短縮しますが、最初の担当者が原因で、シップマスターの回答にコメントできませんでした。彼のコメント7月19日18:10は、状況を誤解していました。

Facesサーブレットはurl-patternによってマップされ、SeamResourceServletはに*.xhtmlマップされ/*ます。これで、url-patternマッチングがより優先されるため/*、すべてのurlパターン(のURLパターンも含む)が取得されます。*.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リソースに、facesサーブレットを無効に/rest/<resource>する代わりに(Seam Resource Servlet url-patternを変更するという彼のヒントを使用して)のようなパスでアクセスできるようにするには?/seam/resource/rest/<resource>*.xhtml/*

(これは基本的に、kongo09の未解決の質問です)。

4

1 に答える 1

0

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-06-14T01:25:58.523 に答える