{"id":4298,"date":"2024-03-14T01:18:37","date_gmt":"2024-03-14T01:18:37","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/"},"modified":"2025-07-31T05:48:26","modified_gmt":"2025-07-31T05:48:26","slug":"how-to-handle-static-resources-in-springboot","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/","title":{"rendered":"SpringBoot Static Resources Handling Guide"},"content":{"rendered":"<p>Spring Boot comes with a default static resources handler that makes it easy to handle static resource files. In the Spring Boot configuration file, you can specify the location of static resource files by setting the spring.resources.static-locations property. By default, Spring Boot will search for static resource files in the directories classpath:\/META-INF\/resources\/, classpath:\/resources\/, classpath:\/static\/, and classpath:\/public\/.<\/p>\n<p>Static resource files can be placed in the src\/main\/resources\/static directory. Spring Boot will automatically expose these files, allowing them to be accessed directly in a browser. For example, placing an image file named example.jpg in the src\/main\/resources\/static\/images\/ directory will allow you to view the image by accessing http:\/\/localhost:8080\/images\/example.jpg.<\/p>\n<p>In addition to using the default static resource handler, you can also customize the static resource handler by implementing the WebMvcConfigurer interface. You can configure custom static resource file paths and URL mappings by overriding the addResourceHandlers method. For example:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@Configuration<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">WebConfig<\/span> <span class=\"hljs-keyword\">implements<\/span> <span class=\"hljs-title class_\">WebMvcConfigurer<\/span> {\r\n    \r\n    <span class=\"hljs-meta\">@Override<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">addResourceHandlers<\/span><span class=\"hljs-params\">(ResourceHandlerRegistry registry)<\/span> {\r\n        registry.addResourceHandler(<span class=\"hljs-string\">\"\/custom\/**\"<\/span>).addResourceLocations(<span class=\"hljs-string\">\"classpath:\/custom\/\"<\/span>);\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>The code snippet above sets up a URL mapping named &#8220;custom&#8221;, exposing static resource files located under classpath:\/custom\/ directory. You can view the &#8220;example.jpg&#8221; file by accessing http:\/\/localhost:8080\/custom\/example.jpg.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Spring Boot comes with a default static resources handler that makes it easy to handle static resource files. In the Spring Boot configuration file, you can specify the location of static resource files by setting the spring.resources.static-locations property. By default, Spring Boot will search for static resource files in the directories classpath:\/META-INF\/resources\/, classpath:\/resources\/, classpath:\/static\/, and [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[3714,3713,2573,3712,326],"class_list":["post-4298","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-java-web-apps","tag-spring-configuration","tag-springboot","tag-static-resources","tag-web-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>SpringBoot Static Resources Handling Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn to configure and optimize static resources in SpringBoot apps with simplified location settings and best practices.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SpringBoot Static Resources Handling Guide\" \/>\n<meta property=\"og:description\" content=\"Learn to configure and optimize static resources in SpringBoot apps with simplified location settings and best practices.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-14T01:18:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-31T05:48:26+00:00\" \/>\n<meta name=\"author\" content=\"Isabella Edwards\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Isabella Edwards\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/\"},\"author\":{\"name\":\"Isabella Edwards\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\"},\"headline\":\"SpringBoot Static Resources Handling Guide\",\"datePublished\":\"2024-03-14T01:18:37+00:00\",\"dateModified\":\"2025-07-31T05:48:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/\"},\"wordCount\":202,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"Java web apps\",\"Spring configuration\",\"SpringBoot\",\"static resources\",\"web development\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/\",\"name\":\"SpringBoot Static Resources Handling Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T01:18:37+00:00\",\"dateModified\":\"2025-07-31T05:48:26+00:00\",\"description\":\"Learn to configure and optimize static resources in SpringBoot apps with simplified location settings and best practices.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SpringBoot Static Resources Handling Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\",\"name\":\"Isabella Edwards\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"caption\":\"Isabella Edwards\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SpringBoot Static Resources Handling Guide - Blog - Silicon Cloud","description":"Learn to configure and optimize static resources in SpringBoot apps with simplified location settings and best practices.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/","og_locale":"en_US","og_type":"article","og_title":"SpringBoot Static Resources Handling Guide","og_description":"Learn to configure and optimize static resources in SpringBoot apps with simplified location settings and best practices.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T01:18:37+00:00","article_modified_time":"2025-07-31T05:48:26+00:00","author":"Isabella Edwards","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Isabella Edwards","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/"},"author":{"name":"Isabella Edwards","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd"},"headline":"SpringBoot Static Resources Handling Guide","datePublished":"2024-03-14T01:18:37+00:00","dateModified":"2025-07-31T05:48:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/"},"wordCount":202,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["Java web apps","Spring configuration","SpringBoot","static resources","web development"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/","name":"SpringBoot Static Resources Handling Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T01:18:37+00:00","dateModified":"2025-07-31T05:48:26+00:00","description":"Learn to configure and optimize static resources in SpringBoot apps with simplified location settings and best practices.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-handle-static-resources-in-springboot\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SpringBoot Static Resources Handling Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd","name":"Isabella Edwards","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","caption":"Isabella Edwards"},"url":"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/4298","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=4298"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/4298\/revisions"}],"predecessor-version":[{"id":148948,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/4298\/revisions\/148948"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=4298"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=4298"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=4298"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}