Я работаю с веб-приложением Spring Boot. Я сталкиваюсь с проблемой доступа к статическим ресурсам, таким как CSS, JS и файлы изображений.
Когда у меня нет @Controller classes
, запрос статического ресурса успешно обрабатывается SimpleUrlHandlerMapping
.
Но после пометки класса @Controller
UR статического ресурса направляются только в метод внутри этого класса (через RequestMappingHandlerMapping
).
Мне не хватает какой-либо конфигурации?
Мой класс контроллера, как показано ниже,
@Controller
public class LoginController {
@RequestMapping(name="/", method = RequestMethod.GET)
public String home() {
return "index";
}
@RequestMapping(name="login", method = RequestMethod.POST)
public String login() {
return "home";
}
В моем файле .HTML я ссылаюсь на статические ресурсы, как показано ниже,
<link rel="stylesheet" type="text/css"
href="bootstrap/css/bootstrap.css"
th:href="@{bootstrap/css/bootstrap.css}">
<script src="bootstrap/js/bootstrap.js"
th:src="@{bootstrap/js/bootstrap.js}"></script>
<script src="jquery/jquery-3.4.1.min.js"
th:src="@{jquery/jquery-3.4.1.min.js}"></script>
Структура каталогов, как показано ниже,
введите описание изображения здесь
Я пытался добавить ресурс, как показано ниже,
@Configuration
public class XbrlWebApp implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
}
но это тоже не работает. При обращении к статическому ресурсу с URL-адресом, как
http://localhost:8080/{contextpath}/bootstrap/css/bootstrap.css
возвращает тот же контент html-страницы вместо файла css.