プロジェクト内で 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/"spring .resources.static-locations=classpath:/folder1/,classpath:/folder2/"クラスパス:/public/"
#つまり、プロジェクトが実行されると、上記のパスに到達します。静的リソースを検索するか、静的リソースのパスをカスタマイズできます。静的リソースのパスは、application.properties で構成する必要があります:
注: 静的フォルダーへのパスをカスタマイズすると、デフォルトの静的リソース パスは無効になります。 2. ようこそページ
http://localhost:8080/ にアクセスすると、静的リソース パスにあるindex.html ファイルが
/**発生した問題index.html ファイルを作成してプロジェクトを実行した後、http://localhost:8080/:
## にアクセスするとページ エラーが発生します。
#コンソールは次のエラーを報告します:
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に変更します。
#JetBrains ランタイムは、付属するものであると考えられます。 IDEA Java ランタイム環境を使用します。
以上がSpringBoot の静的リソース マッピング ルールとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。