ディスパッチャーサーブレットとその構成ファイルを動的にロードする必要があります。私は春の非常に最近の開発であるwebapplicationinitializerを使用してディスパッチャーサーブレットを注入するコンセプトを見ています。次のドキュメントで概要を説明します: http://static.springsource.org/spring/docs/3.1.x/javadoc-api/org/springframework/web/WebApplicationInitializer.htmlSpringmvcのWebapplicationinitializerを使用してディスパッチャーサーブレットを挿入します。
私は基本的なセットアップを行い、その機能していないのです。私は伝統的な春の開発からどこに揺れ始めるべきか理解できません。誰も私にこの新しい仕組みの使い方の例を教えてもらえますか?私は次のコードを使用:
public class MyWebAppInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext container) {
// Create the 'root' Spring application context
AnnotationConfigWebApplicationContext rootContext =
new AnnotationConfigWebApplicationContext();
rootContext.register(AppConfig.class);
// Manage the lifecycle of the root application context
container.addListener(new ContextLoaderListener(rootContext));
// Create the dispatcher servlet's Spring application context
AnnotationConfigWebApplicationContext dispatcherContext =
new AnnotationConfigWebApplicationContext();
dispatcherContext.register(DispatcherConfig.class);
// Register and map the dispatcher servlet
ServletRegistration.Dynamic dispatcher =
container.addServlet("dispatcher", new DispatcherServlet(dispatcherContext));
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("/");
}
}
を我々は動的ディスパッチャサーブレットを注入している場合はさらに、それはWebコンテナ(Tomcatの)中のディスパッチャサーブレット負荷が起動することを意味するのでしょうか?
私は経験から、 'WebApplicationInitializer'が動作することを知っています。あなたは「*ただ働いていない」と説明できますか? –
@TomaszNurkiewiczコメントをいただきありがとうございます。私は基本的な例そのものをセットアップできません。私はweb.xmlにContextLoaderListenerを設定しました。ドキュメントでは、webapplicationinitializerを通常のクラスとして使用することができます。だから、私は最初の投稿に記載されたコードを使用しました。あなたが共有する例があれば、私に見せてもらえますか? – codejammer
@codejammer私は自分の答えを更新しました。あなたはそれからいくつかの手がかりを得るかもしれません。 –