27

ContextLoaderListener私はそれをグーグルで検索しましたが、満足のいく答えが見つかりませんでした.との違いを説明していただければ幸いですRequestContextListener.

4

4 に答える 4

16

contextloaderlistener :- Spring のルート WebApplicationContext を起動するためのブートストラップ リスナー。ContextLoader に委譲するだけです。

requestcontextlistener :-このリスナーは主に、JSF FacesServlet などのサードパーティのサーブレットで使用するためのものです。Spring 独自の Web サポート内では、DispatcherServlet の処理で十分です。

于 2013-09-10T17:47:58.893 に答える
5

Servlet 2.5 Web コンテナーを使用し、リクエストが Spring の DispatcherServlet の外部で処理される場合 (たとえば、JSF または Struts を使用する場合)、org.springframework.web.context.request.RequestContextListener ServletRequestListener を登録する必要があります。Servlet 3.0+ の場合、これは WebApplicationInitializer インターフェイスを介してプログラムで実行できます。または、古いコンテナーの場合は、Web アプリケーションの web.xml ファイルに次の宣言を追加します。

    <listener>
        <listener-class>
            org.springframework.web.context.request.RequestContextListener
        </listener-class>
    </listener>

</web-app>
于 2016-08-14T13:11:20.347 に答える
0

ContextLoaderListener は、Spring のルート WebApplicationContext を起動するためのブートストラップ リスナーです。

RequestContextListener は、リクエスト スレッドの属性を存続させたい場合に使用されます。

ここで注意すべき点は、RequestContextListener で継承可能フラグが false に設定されていることです。

http://docs.spring.io/spring/docs/4.0.6.RELEASE/javadoc-api/org/springframework/web/context/request/RequestContextListener.html

したがって、子スレッドにリクエスト属性を継承させたい場合は、RequestContextFilter または RequestContextHolder を使用してみてください。

http://docs.spring.io/spring/docs/4.0.6.RELEASE/javadoc-api/org/springframework/web/filter/RequestContextFilter.html

于 2014-08-28T09:40:37.067 に答える