(maven centralからの)Guice 3.0-rc2とそのサーブレット拡張を使用するようにservlet-projectを移行しようとしています。Guice Servlet Extensionでcontext.getNamedDispatcherを使用する方法
Guiceはweb.xml
を基本的に役に立たないようにレンダリングしているので、私は自分のサーブレット名をどこで定義するか分かりません。コードベースではServletContext#getNamedDispatcher("name")
が非常に重いので、できるだけ変更したくありません。最初のコードベースはgetNamedDispatcher
を1回しか使用していなかったので、私はそれを回避することができました。
問題のサーブレットはいずれのパスもリッスンしていないため、getRequesetDispatcher
を使用してはなりません。
誰にも提案はありますか?
申し訳ありませんが、これは私にとってはうまくいかないでしょう。サーブレットの名前を決定/割り当てする方法が特に必要です。サーブレットは、ルーティングルールエンジンの一部でもあります。 – msung
@msung:これは、リクエストをいくつかのフィルタを介してサーブレットなどにルーティングすることを伴うと思いますか?もしそうでなければ、一つのオプションはサーブレットを(以前はweb.xmlにあったのと同じ名前の) 'MapBinder'を使ってバインドしていて、' RequestDispatcher'を使うのではなく 'Map'で探していました。 。さもなければ、私はあなたが望むものはおそらくguice-servletが行うように設計されている範囲外であると思います。 – ColinD
以前に使用したサーブレット名をクラスにマッピングすることで問題を回避しました。私が知る限り、サーブレットを調べることはできます。あなたの例でメソッド注入を使用した理由はありますか?サーブレットを直接注入するか、getInstance(YourServlet.class)が機能しないか – msung