0

そのため、JSP とサーブレットの経験は限られています。Spring フレームワーク、特に Spring MVC を学習していますが、Spring フレームワークを適切に使用するために必要な前提知識がいくつかあるようです。スプリングを使った依存性注入を理解しています。Bean 宣言を含むスプリング構成ファイルは、私には理にかなっています。そのファイルが mvc-dispatcher.xml ファイルです。しかし、DispatcherServlet 宣言以外に web.xml で一般的に必要とされるものは他にあるでしょうか? 私が研究しているプロジェクトの web.xml に、 a と という見慣れない項目が<listener>あり<context-param>ます。web.xml のこれらのエントリは何のためにあるのですか? 何が必要ですcontextConfigLocationか?

<servlet>
    <servlet-name>mvc-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>mvc-dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/spring.xml  /WEB-INF/plugins.xml /WEB-INF/spring-ext.xml</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
4

1 に答える 1

0

servlet は、サーブレット インスタンスを登録することです。この場合、Spring のディスパッチャー サーブレットを作成していますが、これは後で構成します。

servlet-mapping は、URL パターンを特定のサーブレットにマップします。あなたのケースでは、Spring サーブレットに / を登録しています。つまり、Spring は、アプリケーションに入ってくるすべてのリクエストを処理します。

listener は、サーブレット コンテキスト イベントに応答するサーブレット コンテナーにリスナーを登録します。ContextLoaderListener は、Spring コンテキストをインスタンス化することによって、ロードされているサーブレットに応答します。「contextConfigLocation」の with param-name は、コンテキストの構築に使用される spring .xml ファイルを見つけるために、このリスナーによって使用されます。

これらの xml ファイルの内容と適切な構成が十分に文書化されているため、開始するためのチュートリアルについては、Spring のドキュメントにアクセスしてください。

また、サーブレット自体が servlet-mvc-dispatcher.xml ファイルを探して spring の mvc 部分を構成するため、この構成はとにかく完全には機能しません (これをオーバーライドできますが、それがデフォルトの動作です)。「contextConfigLocation」にあるのはメインのアプリケーション コンテキストであり、servlet-mvc-dispatcher.xml はその子コンテキストになります。

于 2013-11-12T22:17:27.807 に答える