質問

構成:Guice 1.0、Apache Tomcat 6.0

現在、Guiceモジュールで設定されたオブジェクトを、このメソッドを使用してサーブレットに手動で挿入しています:

public void init( ServletConfig config ) throws ServletException
{
    super.init( config );
    ServletContext sc = config.getServletContext();
    Injector injector = (Injector) sc
        .getAttribute( Constants.Guice.INJECTOR_APP_CONTEXT_KEY );
    injector.injectMembers( this );
}

HttpSessionAttributeListenerに同じことを行うには(ライフサイクルメソッドがないため)?

役に立ちましたか?

解決

イベントリスナーはライフサイクルイベントに関するものです。たとえば、サーブレットのinit()と同様に、属性がセッションに追加された直後に attributeAdded()が呼び出されます。

おそらく、HttpSessionにオブジェクトを注入する方が理にかなっています。その場合は、 HttpSessionListener.sessionCreated()で実行します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top