1. ホーム
  2. spring

[解決済み] <mvc:default-servlet-handler />の必要性と用途は何ですか?

2022-02-07 15:22:07

質問事項

のニーズは何ですか? <mvc:default-servlet-handler /> をSpring MVCで使用することができます。いつ使うべきか。具体的にいつ必要なのか。なぜそれを使用する必要があります。私はstackoverflowでいくつかのリンクを通過しましたが、明確な画像や理解を得ることができませんでした。誰かが説明することができますか?

どのように解決するのですか?

のニーズは何ですか? <mvc:default-servlet-handler />Spring MVC ?

これを使うと handler Spring ディスパッチャはすべてのリクエストをデフォルトの Servlet . この機能を有効にするには、以下のようにアノテーションを使用するか、xmlベースの設定を使用します。

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {

    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }
}

あるいはXMLで。

<mvc:default-servlet-handler/>

何ができるのか?

DefaultServletHttpRequestHandler を試みます。 auto-detectdefault Servlet に対して container は、ほとんどの主要なServletコンテナ(Tomcat、Jetty、GlassFish、JBoss、Resin、WebLogic、WebSphereなど)の既知の名前のリストを使用して起動時に表示されます。デフォルトのServletが異なる名前でカスタム設定されている場合、またはデフォルトのServlet名が不明な別のServletコンテナが使用されている場合、次の例のようにデフォルトのServletの名前を明示的に指定する必要があります。

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {

    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable("myCustomDefaultServlet");
    }
}

あるいはXMLで。

<mvc:default-servlet-handler default-servlet-name="myCustomDefaultServlet"/>

どんな時に使うべき?具体的にどんな時に必要なのか?なぜ使う必要があるのでしょうか?

Spring ディスパッチャにサービスを提供させたい場合 static resources の下にある web root をデフォルトサーブレットで使用します。

を使用している場合 DefaultServletHttpRequestHandler であれば、.NETに置き換えることができます。

    <mvc:resources mapping="/js/**" location="/js/" />
    <mvc:resources mapping="/css/**" location="/css/" />
    <mvc:resources mapping="/images/**" location="/images/" />

を使用しています。

<mvc:default-servlet-handler />

もっと見る こちら .