Структура каталогов моего проекта maven spring показана ниже. Я использую конфигурацию на основе аннотаций Spring-4. Я настраиваю ресурсы, как показано ниже. Я пробовал много способов, которые предлагаются во многих вопросах Stackoverflow и на других веб-сайтах.
Spring 4 загружает статические ресурсы
http://imwill.com/spring-mvc-4-add-static-resources-by-annotation/#.U5GZlXKs9i4
Но файлы jsp не могут загрузить ресурсы, все запросы статического содержимого возвращают ошибку 404. Я пробовал эти вещи в jsp,
<link href="resources/css/bootstrap.css" rel="stylesheet" media="screen">
<link href="/resources/css/bootstrap.css" rel="stylesheet" media="screen">
<link href="css/bootstrap.css" rel="stylesheet" media="screen">
РЕДАКТИРОВАТЬ: я использую сервлет 2.5, потому что на данный момент я не могу обновить свой проект с JBoss 5 до более высоких версий. JBoss5 не поддерживает сервлеты 3, и какое это имеет значение?
@Configuration
@ComponentScan("com.mgage.mvoice")
public class MyAppWebConfig extends WebMvcConfigurerAdapter {
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// I tried these many combinations separately.
ResourceHandlerRegistration resourceRegistration = registry
.addResourceHandler("resources/**");
resourceRegistration.addResourceLocations("/resources/**");
registry.addResourceHandler("/css/**").addResourceLocations("/css/**");
registry.addResourceHandler("/img/**").addResourceLocations("/img/**");
registry.addResourceHandler("/js/**").addResourceLocations("/js/**");
registry.addResourceHandler("/resources/**")
.addResourceLocations("classpath:/resources/");
// do the classpath works with the directory under webapp?
}
}