Так как я не сохранил ни одного файла в папке ресурсов, почему мы должны отобразить в папку ресурсов, чтобы загрузить все статические ресурсы? - PullRequest
0 голосов
/ 04 марта 2019

содержит тег mvc: тег ресурса Я занимаюсь разработкой весеннего приложения MVC, в котором я использую конфигурацию на основе XML. Я хочу загрузить статический ресурс. Для этого я использую тег <mvc:resources location="/assets/" mapping="/resources/**"/>.

Все мои статические ресурсы присутствуют в папке ресурсов, поэтому я даю локатор.но в картировании почему это mapping="/resources/**"?Я ничего не сохранил в папке ресурсов, и что означает **?

Кто-нибудь может прояснить все мои сомнения здесь?

1 Ответ

0 голосов
/ 04 марта 2019
<mvc:resources location="/assets/" mapping="/assets/**"/>

Обновление mapping="/assets/**", будет работать нормально.В атрибуте Mapping вы должны сохранить соответствующий шаблон URL для доступа к папке ресурсов.

**: - означает несколько каталогов по этому пути или нулевых каталогов после каталога ресурсов.

Возьмем пример: -

<script type="text/javascript" src="${contextRoot}/assets/js/login.js"></script>

Вы хотите добавить сценарий Javaфайл на вашей странице.Чтобы добавить этот js-файл, запросом сервера становятся: http://localhost:8090/Aashayein/assets/js/login.js.Поскольку вы используете spring-mvc, запрос проходит через сервлет диспетчера (фронт-контроллер).Для этого запроса Uri нет соответствующего обработчика, помеченного (@RequestMapping ("/ assets / js / login.js")), поэтому он выдает ошибку 404.Поэтому вы должны сообщить Spring, что если какой-либо запрос идет с шаблоном uri "/ assets / **", то он непосредственно просматривает папку assets, находящуюся в каталоге webapp.Для этого в xml нужно написать: -

<mvc:resources location="/assets/" mapping="/assets/**"/>

В аннотации: -

/*
 * Any request with url mapping /assets/** will directly look for /assets
 * folder.
*/
public void addResourceHandlers(final ResourceHandlerRegistry registry) {

   registry.addResourceHandler("/assets/**").addResourceLocations("/assets/");
}
...