Webアプリケーション/コンテキストごとに、特定のWebアプリケーションだけの書き換えファイルを指定する方法はありますか?私が現在作業しているのを見る唯一の方法は、起動時にコマンドライン経由で行うことです。私は、おそらくoverride.xmlファイルまたはコンテキストXMLファイルの設定を考えていました。JettyにWebアプリケーションごとのjetty-rewrite.xmlファイルを割り当てることはできますか?
答えて
context.xmlデプロイメントを使用する場合は、RewriteHandlerのルールをアプリ固有のコンテキストxmlに統合できます。
例:これはjetty-distributionで見つかった${jetty.home}/contexts/test.xml
の置き換えcontext.xmlです。すべてのリクエストのレスポンスにクッキー(visited = yes)を追加するだけのルールが追加されています。
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure class="org.eclipse.jetty.server.handler.ContextHandler">
<Set name="contextPath">/</Set>
<Set name="handler">
<New id="Rewrite" class="org.eclipse.jetty.rewrite.handler.RewriteHandler">
<Set name="handler">
<New class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/</Set>
<Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/test.war</Set>
<Set name="extractWAR">true</Set>
<Set name="copyWebDir">false</Set>
<Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set>
<Set name="overrideDescriptor"><SystemProperty name="jetty.home" default="."/>/contexts/test.d/override-web.xml</Set>
</New>
</Set>
<Set name="rewriteRequestURI">true</Set>
<Set name="rewritePathInfo">false</Set>
<Set name="originalPathAttribute">requestedPath</Set>
<!-- add a cookie to each path visited -->
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.CookiePatternRule">
<Set name="pattern">/*</Set>
<Set name="name">visited</Set>
<Set name="value">yes</Set>
</New>
</Arg>
</Call>
</New>
</Set>
</Configure>
、このルールが機能するかどうかを確認桟橋を開始し、後藤し、「セッション」テストコンポーネントを使用するには、visited=true
は、上部のクッキーのように見えるようになることがわかります。
_ "context.xml deployablesを使用している場合" _ - その意味はわかりませんが、{{jetty}/contexts/{name} .xml'で個々のコンテキストを定義しています。 .xmlまたは任意のテストコンポーネント。 –
この例を既存のコンテキストコンフィグレーションに適用しようとしました(WebAppContextコンフィグレーションのSetコマンドをあなたのサンプルのそれぞれのNewタグに転送することによって)、その結果、org.eclipse.jetty.server.Dispatcher $にStackOverflowErrorが発生しました'/'にアクセスしようとするとForwardAttributes.setAttribute(Dispatcher.java:410) '([フルトレース](http://pastebin.com/vZEvmDRj)) - 動作しているように見えます。特定のファイルを訪問したとき。 –
これはJettyのバグか、設定ミスなどの理由でわかりません。このハンドラがどのように動作するかについての説明はおそらく有用であろう。 (問題をデバッグしようとしましたが、トップレベルのcontextPathを取り出しました。何も変更されていないので、必要があるかどうか疑問に思っています) –
- 1. SetupIconFileを.exeファイルから割り当てることはできますか?
- 2. Excelファイルを保存するときにセルに値を割り当てることはできますか?
- 3. 割り当てることはできませんまたはUIViewController中にNSArrayを割り当てる
- 4. IP範囲ごとにバックエンドを割り当てることができますか?
- 5. 「オペレータに割り当てることはできません」エラー
- 6. Androidボタンのプレスにキープレスコードを割り当てることはできますか?
- 7. 空のDataFrameにMultiIndexを割り当てることはできますか?
- 8. ファイルディスクリプタのアドレスを変数に割り当てることはできますか?
- 9. カテゴリーを私のnextgen Galleryに割り当てることはできますか?
- 10. サーブレットを特定のドメインに割り当てることはできますか?
- 11. オブジェクトをドロップダウンリストの値に割り当てることはできますか?
- 12. Twitter BootstrapのポップオーバーにIDを割り当てることはできますか?
- 13. Char *に#defineの値を割り当てることはできますか?
- 14. javascriptでクッキーにオブジェクトを割り当てることはできますか?
- 15. javascriptでdocument.getElementByIdを変数に割り当てることはできますか
- 16. offsetHeightをstyle.topに割り当てることはできますか? JavaScriptで
- 17. GPIO.outputを変数に割り当てることはできますか?ラズベリーPI
- 18. プロトタイプを子コンポーネントに割り当てることはできますか?
- 19. ノートブックに新しいスパークサービスを割り当てることはできますか?
- 20. Android:ラジオボタンに値を割り当てることはできますか?
- 21. 静的クラスを変数に割り当てることはできますか?
- 22. titleにclass属性を割り当てることはできますか?
- 23. $ thisを新しいクラスインスタンスに割り当てることはできますか?
- 24. 誰にもTFSレビューリクエストを割り当てることはできますか?
- 25. リセットインデックスに名前を割り当てることはできますか?
- 26. オブジェクトをintに割り当てることはできますか?
- 27. ボーダー右に画像を割り当てることはできますか?
- 28. Tclオブジェクトを変数に割り当てることはできますか?
- 29. onet.xmlにwebpart idを割り当てることはできますか?
- 30. オペレータを変数に割り当てることはできますか?
https://github.com/eclipse/jetty.project/blob/master/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/でこれを行うことに関連することがあります。 RewriteHandler.javaしかし、それは明確ではありません。 –