0

Webアプリケーション用に3つの「コンテキスト」ファイルがあります。1つはweb.xml、1つはcontext.xml、もう1つはdispatcher-servlet.xmlです。WebアプリにはSpringを使用する必要があることに注意してください。サーバー上で実行する必要のある単一のWebアプリケーションがあります。誰かが私の理解を確認できますか?
1. Web.xml-すべてのJavaWebアプリに必要であり、必要です。ここでサーブレット構成が行われます。パラメーターparam-name=contextConfigLocationおよびcontextLoaderListenerとは何ですか。また、それらが必要な理由は何ですか。contextLoaderListenerは正確に何をしますか?

<context-param>
        <description>Spring Application Context Configuration</description>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/applicationContext-workflow.xml
            /WEB-INF/applicationContext-general.xml
        </param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.mvc</url-pattern>
    </servlet-mapping>
  1. Context.xmlは、環境固有のdb接続用であり、キュー接続が使用されます。コモンズdbcpを使用することをお勧めしますか?

  2. そして、dispatcher-servlet.xmlは次のようになります。なぜこのようにする必要があるのですか?

  3. サーバーによってロードされるこれらのファイルに関して、context.xmlが最初にロードされ、次にweb.xml、次にdispatcher-servlet.xmlがロードされますか?

  4. クライアントリクエストに関して、最初にディスパッチャサーブレットによってインターセプトされますか?

4

1 に答える 1

1
  1. はい、必要に応じて dbcp を使用できます。基本的に context.xml は、Spring Bean を定義するための Spring 構成ファイルです。スプリングコア用です。

  2. dispatcher-servlet.xml これは、Spring Web MVC 構成用の別の Spring 構成ファイルです。ファイル 1 と 2 を混在させることもできますが、厳密には破棄されます。Sprinf MVC 構成、Web リソースバンドル、mvc インターセプターなどを定義します。JSF や struts などの別の Web フレームワークを使用することを選択した場合、このファイルは必要なく、それらのフレームワーク用の他の構成ファイルがプロジェクトに追加されます。

  3. web.xml が最初に読み込まれます - 常にすべての Java Web アプリの場合。そこで、ディスパッチャ サーブレットを定義します。そして、リスナーを定義しました。Web アプリがロードされると、リスナーに通知されます (質問への回答 - リスナーが何をしているのか) リスナーは、コンテキスト パラメータとして指定されたファイル リストを取得し、そこからスプリング コンテキストをロードします。完了すると、Web アプリは完全に読み込まれます。

  4. リクエストが最初にヒットするものは、次の行によって異なります

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

.mvc で終わるすべてのリクエスト URL は、Spring ディスパッチャ サーブレットによってインターセプトされます。

于 2012-10-16T06:45:40.527 に答える