ホームページ > Java > &#&チュートリアル > SpringBoot の静的リソース マッピング ルールとは何ですか?

SpringBoot の静的リソース マッピング ルールとは何ですか?

PHPz
リリース: 2023-05-13 16:28:06
転載
1277 人が閲覧しました

1. 静的リソース マッピング ルール

プロジェクト内で shift または ctrl N をダブルクリックして、WebMvcAutoConfiguration.class を検索します。 addResourceHandlers メソッドは次のとおりです:

public void addResourceHandlers(ResourceHandlerRegistry registry) {
    if (!this.resourceProperties.isAddMappings()) {
        logger.debug("Default resource handling disabled");
    } else {
        this.addResourceHandler(registry, "/webjars/**", "classpath:/META-INF/resources/webjars/");
        this.addResourceHandler(registry, this.mvcProperties.getStaticPathPattern(), (registration) -> {
            registration.addResourceLocations(this.resourceProperties.getStaticLocations());
            if (this.servletContext != null) {
                ServletContextResource resource = new ServletContextResource(this.servletContext, "/");
                registration.addResourceLocations(new Resource[]{resource});
            }
        });
    }
}
ログイン後にコピー

次に、getStaticLocations() メソッドを入力すると、次のように変数 staticLocations の値を見つけることができます。 #"クラスパス:/META-INF/リソース/"

"クラスパス:/リソース/"
"クラスパス:/static/"

"クラスパス:/public/"

#つまり、プロジェクトが実行されると、上記のパスに到達します。静的リソースを検索するか、静的リソースのパスをカスタマイズできます。静的リソースのパスは、application.properties で構成する必要があります:

spring .resources.static-locations=classpath:/folder1/,classpath:/folder2/

注: 静的フォルダーへのパスをカスタマイズすると、デフォルトの静的リソース パスは無効になります。

2. ようこそページ

http://localhost:8080/ にアクセスすると、静的リソース パスにあるindex.html ファイルが

/**

によってマッピングされます。デフォルトでは、静的リソースフォルダー内のindex.htmlにマップされます。

発生した問題index.html ファイルを作成してプロジェクトを実行した後、http://localhost:8080/:

## にアクセスするとページ エラーが発生します。

#コンソールは次のエラーを報告します:

SpringBoot の静的リソース マッピング ルールとは何ですか?

Spring Boot のバージョンは 2.7.8、tomcat のバージョンは 9.0.71 です。 Spring Boot は組み込み Tomcat を通じてプロジェクトを実行しますが、ローカル Java 環境に依存する必要があります。私のローカル Java バージョンは Java 1.8.0_261 (つまり、Java 8 バージョン) です。通常、Java 8 と Tomcat 8.x.x は一緒に使用されます。これは、バージョンの競合によって引き起こされる問題である可能性があります。問題を解決するには、プロジェクトの SDK を

jbr-11 JetBrains ランタイム バージョン 11.0.10

に変更します。 SpringBoot の静的リソース マッピング ルールとは何ですか?

#JetBrains ランタイムは、付属するものであると考えられます。 IDEA Java ランタイム環境を使用します。

以上がSpringBoot の静的リソース マッピング ルールとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート