問題タブ [guice-servlet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1337 参照

file-upload - GUICE でサーブレットを使用した GWT ファイルのアップロード

GuiceでGWTPを使用しています。ファイルをアップロードしたい。そのために、サーブレットを作成しました。

このGWT File UPload Exampleを使用しています。しかし、サーブレットは呼び出されていません。GuiceFilter の問題だと思います。以下は私の web.xml エントリです。


Web.xml

どんな指針も大いに役立つでしょう。

0 投票する
1 に答える
526 参照

guice - guiceセキュリティのbindInterceptorとフィルター?

セッションの開始時にセッション変数を取得し、結果に基づいて特定のページへのアクセスのみを許可する単純な使用例があります。bindInterceptor を使用して任意のページの @Get メソッドまたは @Post メソッドをインターセプトするのが最善なのか、それともフィルターを使用する方が良いのか、はっきりしていません。これは私がやりたいことのスケッチですが、代替手段を受け入れています:

このセキュリティ モデルを管理するための推奨される手法 (最小コード、最速など) はどれですか? サンプルプロジェクトを見てみたいです。

ご協力いただきありがとうございます!

-ジョン

0 投票する
2 に答える
705 参照

java - Java Web App のビジネス層への Guice インジェクション

Guice を使用して、既存の Java Web アプリケーションのサーブレット部分にプロバイダーを挿入することに成功しましたが、アプリケーションのビジネス レイヤー (サーブレット以外の Java クラス) を介してインジェクターにアクセスできません。

Injecting the Injector について読んだことがありますが、私にはそれはハックのように思えます。

私の質問は、サーブレット/フィルター以外のクラスが、GuiceServletContextListener を拡張するために使用するクラスで作成されたインジェクターにアクセスできるように、Java Web アプリをどこでブートストラップすればよいかということだと思います。インジェクターを注入せずにこれらのクラスを注入可能にする方法はありますか?

ありがとうございます。説明が必要な場合はお知らせください。

編集:

これまでのところ、サーブレットで単純なロガーを使用してこれを実行しようとしています。

インジェクションは MyLoggerModule で次のように設定されます (これは ServletModule を使用した createInjector 呼び出しにあります)。

これはすべてサーブレットで完全に機能しますが、サーブレットまたはフィルターではないクラスによって呼び出された場合、フィールド注入は機能しません。

0 投票する
1 に答える
1026 参照

java - Guice サーブレットを使用して一致するページにリクエストをルーティングする

継承された jsp/java ee アプリケーションを開発しており、アプリケーションに Guice IoC コンテナーを導入したいと考えています。しかし、いくつかの障害が見つかりました。異なる URL を使用して単一のサーブレットに複数のルーティングがある場合、web.xml エントリを Guice 登録に変換できません。問題は init-parameters にあります。

これが私の web.xml からの抜粋です。

これは問題とは関係ありませんが、init パラメータの使用方法の良い例です。基本的に、システム内のさまざまな役割を持つユーザーを適切なページにマップします。

面倒なのは次の2つです。

ここに私のサーブレットがあります:

それをguiceに翻訳しようとすると(そしてこのモジュールを登録します):

問題は、guice が ContextForwarder サーブレットを、最初に登録されたメソッドからの init パラメータを持つシングルトンとして作成し、リクエスト URL に関係なく、最初の登録からのパラメータを持つことです。現在のユーザーの役割を考慮して、ユーザーを別のサイトにルーティングする他のソリューションはありますか? 2 つの異なる構成で同じサーブレット クラスを構成することは可能ですか?

0 投票する
1 に答える
633 参照

guice - guice サーブレット拡張機能を使用する場合、サーブレットの破壊に対応できますか?

Guice サーブレットが削除されたら、クリーンアップを行う必要があります。Guice サーブレットを使用しているときに、サーブレットの破壊にフックすることは可能ですか? クリーンアップ作業を行うには、インジェクターを使用する必要があります。

contextDestroyedのメソッドをオーバーライドできますがGuiceServletContextListener、インジェクターにアクセスするにはどうすればよいですか?

サーブレットの破壊に対応するより良い方法はありますか?

0 投票する
1 に答える
518 参照

java - Guice サーブレットによるサブパスのルーティング

Web アプリでリクエストをルーティングするために Guice を使用していますが、処理する URL パターンの一部のルーティングをモジュール化したいと考えています。理想的には、私の中で次のようなことができるようにしたいと思いますServletModule:

またはさらに良い:

これは Guice で可能ですか? Guice は、ServletModules によってインストールされたバインディングをシングルトンにしようと懸命に努力しているようです。これは、誰がどこでGuiceServletContextListener使用するかを知っている場所に保存されますGuiceFilterが、このように委任できるように、シングルトン化を解除したいと思います。すべてを単一の関数にしっかりとバインドする代わりに。

0 投票する
6 に答える
760 参照

guice - VaadinWindowコンポーネントにGuiceが完全に注入されていません

私は非常に単純なVaadinアプリケーションを持っています。Guiceを使用してVaadinアプリのメインウィンドウを挿入したいと思います。

私の問題は、メインウィンドウが挿入されているのに、このメインウィンドウコンポーネント内の@Injectディレクティブが処理されていないことです。

私のusecasの完全なコードソースは、bitbucketリポジトリで入手できます。

Vaadinアプリケーションクラス:

MainWindowクラス

guiceバインディングが定義されているGuiceServletContextListener

何が起こるかというと、MainWindowは正しく挿入されますが、ラベルタイトルの文字列は常にnullです。何か案が?

0 投票する
2 に答える
5071 参照

servlets - Guiceを使用してServletContextListenerに依存性を注入する

ServletContextListenerはGuiceではなくサーバーによって作成されるため、連携させる方法を見つけることができません。ServletContextListenerでguiceインジェクターを取得するにはどうすればよいですか?

たぶん、ロガーや永続性などのサービスをシャットダウンしてから、contextDestroyedメソッドで実行し、contextInitializedで初期化するより良い方法がありますか?

0 投票する
2 に答える
799 参照

guice - guice-servletを使用してフィルタをサーブレットにマッピングするにはどうすればよいですか?

Guice-servletを使用すると、次のようなサーブレットマッピングを簡単に実行できます。filter(*。jsp).through(MyFilter.class)

しかし、フィルターをサーブレットにマップする方法を教えてもらえますか?

ありがとう

0 投票する
1 に答える
715 参照

servlets - Guice 3.0 request.getRequestDispatcher(..).forward 先頭に Guice サーブレット パスを追加

Guice 3.0 で JBoss 5.1 を使用しており、次の手法を使用して Guice サーブレットから外部サーブレットに転送する必要があります。

開発サーバーのいくつかでは、これは正しい URL (例: localhost/ourApp/ExternalServlet) に転送されますが、本番ステージング サーバーでは /get/1234 が先頭に追加されるため、URL は localhost/ourApp/ get/1234 /ExternalServlet に転送されます。リダイレクトが機能します。

転送が Guice サーブレットの先頭に追加されている理由は何ですか? ありがとう。