Spring добавляет url в адрес статически файлов
У меня есть главная страница которая лежит в папке templates. И статические ресурсы которые лежат в static/css + static/img. Если моя страница находится на главном адресе запроса то есть localhost:8080/ Спринг правильно ищет и находит эти файлы и картинки. Но есть я открываю ту же саму страницу с теми же файлами, но по адресу к примеру localhost:8080/hxh/create-topic Спринг начинает искать файлы с приставкой hxh. То есть:
2020-03-01 14:50:36.337 DEBUG 17032 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : GET "/hxh/img/rayna.png", parameters={}
2020-03-01 14:50:36.337 DEBUG 17032 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 404 NOT_FOUND
2020-03-01 14:50:36.337 DEBUG 17032 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost] : Processing ErrorPage[errorCode=0, location=/error]
2020-03-01 14:50:36.337 DEBUG 17032 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : "ERROR" dispatch for GET "/error", parameters={}
2020-03-01 14:50:36.337 DEBUG 17032 --- [nio-8080-exec-2] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped to ResourceHttpRequestHandler ["classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/", "/"]
2020-03-01 14:50:36.337 DEBUG 17032 --- [nio-8080-exec-2] o.j.s.OpenEntityManagerInViewInterceptor : Opening JPA EntityManager in OpenEntityManagerInViewInterceptor
2020-03-01 14:50:36.338 DEBUG 17032 --- [nio-8080-exec-2] o.s.w.s.r.ResourceHttpRequestHandler : Resource not found
2020-03-01 14:50:36.338 DEBUG 17032 --- [nio-8080-exec-2] o.j.s.OpenEntityManagerInViewInterceptor : Closing JPA EntityManager in OpenEntityManagerInViewInterceptor
2020-03-01 14:50:36.338 DEBUG 17032 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Completed 404 NOT_FOUND
Ну и понятное дело не находит их. В файле шаблоне я указываю адрес просто img/rayna.png. Я понимаю что можно создать 20 папок под каждый запрос и положить туда одни и те же файлы, но может можно как то иначе исправить это и сделать так чтобы спринг искал файлы в одном каталоге вне зависимости от запроса?
Ответы (1 шт):
В начале ссылки на ресурс нужно добавить '/'.
<link rel="stylesheet" href="/css/style.css"/>