По умолчанию статическое снабжение ресурсов
Springboot имеет несколько каталогов статических ресурсов по умолчанию, которые также можно настроить. Конфигурация по умолчанию /** карты в /static (или /public, /resources, /meta-inf /resources), а метод пользовательской конфигурации выглядит следующим образом:
Spring.mvc.static-path-pattern =/** # Паттерн пути, используемый для статических ресурсов.
Если фронт-конечности необходимо получить доступ к статическим ресурсам по умолчанию, обратите внимание на следующую структуру каталога:
└acresources │ Application.yml │ ├acstatic │ ├ ├ │ │ │ index.css │ │ └ └ │ │ index.js │ └ описать index.html
Как ссылаться на приведенные выше статические ресурсы в index.html?
Следующий метод написания:
<link rel = "styleSheet" type = "text/css" href = "/css/index.css" rel = "enfer nofollow"> <script type = "text/javascript" src = "/js/index.js"> </script>
Примечание. Конфигурация по умолчанию /** Карты в /static (или /public, /resources, /meta-inf /resources)
При запросе /css/index.css будет найдена Spring MVC в каталоге /статика.
Если настроен как /статический /CSS/Index.css, то в соответствии с несколькими каталогами, настроенным выше, нет /статического каталога, поэтому файл ресурса не будет найден!
Таким образом, при написании статических мест ресурсов не приносите сопоставленные имена каталогов (такие как/static/,/public/,/resources/,/meta-inf/resources/)!
Пользовательские статические ресурсы
В Интернете говорится, что спецификация может быть определена в файле конфигурации. Я не использовал этот метод. Я использовал его, внедрив расширенную конфигурацию.
PS: Объясните, что в версии Springboot 1.x некоторые конфигурации, связанные с Spring MVC, расширяются путем наследства WebMVCautoConfiguration, но в версии 2.x интерфейс webMVCConfigurer напрямую реализуется для расширения Spring MVC, связанных с функциями, такими как настройка настройки, настройку, настройка, настройка, настройка, настройка, настройка, настройка, настройка, настройка, настройка, настройка, настройка, настройка, настройка, настройка, настройка. Эта статья, охватывающая методы по умолчанию, такие как Inside.
Просто загрузите код:
@ConfigurationPublic Class MyWebAppConfigurer реализует webmvcconfigurer {// event.share.image.dir =/data/share/image/@value ("$ {event.share.image.dir}") Private String outputDir; @Override public void addresourcehandlers (реестр ресурсов) {registry.addresourcehandler ("/share/image/**"). Addresourcelocations ("file:"+outputDir); }}ПРИМЕЧАНИЕ. Фон приведенного выше кода - это изображение, снятое из другого места динамически. Это не должно быть помещено в пакет Jar Sringboot. Следовательно, благодаря вышеуказанной конфигурации вы можете напрямую получить доступ к изображению в /дата/share/image/a.jpg через http: //host/share/image/a.jpg. Если файл статического ресурса не является динамичным, он также находится в каталоге ресурсов, просто необходимо написать его так:
Registry.addresourcehandler ("/share/image/**"). addresourcelocations ("classpath:"+outputDir); // Изменить файл на классДоступ к статическим ресурсам через класс инструментов Springboot
Очень просто, код выглядит следующим образом:
Private Static Final String founal_image = "share/founal.jpg"; file file = new classpathresource (founal_image) .getFile (); inputStream IS = new ClassPathresource (founal_image) .getInputStream ();
Оказывается, есть другой способ написать это:
Private Static Final String founal_image = "classPath: share/founal.jpg"; file file = resourceutils.getfile (founal_image);
Но в версии 2.x может появиться следующее, но исключение
java.io.filenotfoundexception: ресурс пути класса [arpect/foundation.jpg] не может быть разрешено до абсолютного пути файла, потому что он не находится в файловой системе: jar: файл: /home/ubuntu/wxcs/calendar-api-1.0.0.jar!/boot-inf!
Я бы порекомендовал первый способ написать это.