Как ссылаться на статические ресурсы из другого веб-проекта с помощью Spring MVC 4

#java #spring #spring-mvc #web #static

#java #spring #spring-mvc #веб #статический

Вопрос:

Как ссылаться на статические ресурсы из другого веб-проекта с помощью Spring MVC 4. У нас есть 2 проекта, один с conext root / SampleWeb, а другой с /SampleStatic. Пример веб-проекта — это приложение Spring MVC 4, которому необходимо получить доступ к статическим HTML-страницам из /SampleStatic project.

Мы попробовали использовать приведенные ниже конфигурации для обработчика ресурсов MVC, но это не сработало. Код находится в /SampleWeb AppConfig.java файл

 @Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {

    registry.addResourceHandler("/views/**").addResourceLocations(
            "/SampleStatic/");
}
  

Ответ №1:

У вас есть несколько альтернатив. Сначала обратите внимание, что ваша конфигурация основана на абстракции ресурсов Spring

в Spring MVC префикс внутри местоположения указывает стратегию поиска, и существует четыре типа

 classpath: - resources loaded from the classpath.
file: - resources loaded as a URL, from the filesystem.
http: - resources loaded as a URL.
(none) - depends on the underlying `ApplicationContext`
  

Ваша текущая конфигурация — четвертая стратегия. Если это не работает, проверьте, как вы загрузили контекст, чтобы узнать, будет ли путь относительно classpath или относительного пути на основе местоположения файловой системы контекста.

Мой совет вам, поскольку вы смешиваете два приложения, — найти наименьший общий знаменатель classpath file или http и явно использовать префикс

Комментарии:

1. Спасибо. Это сработало для меня: registry.addResourceHandler(«/ views / **»).addResourceLocations( » localhost:9080/SampleStatic/views /» );