2015-11-01 2 views
0

Кто-нибудь настраивал весенний ботинок для использования в виде простого html без тимелеафа? Вот моя конфигурация:Весенняя загрузка и простой html

@SpringBootApplication 
@EnableAutoConfiguration 
@ComponentScan 
@Configuration 
@EnableWebMvc 
public class WebUi extends WebMvcConfigurerAdapter { 


    @Bean 
    public InternalResourceViewResolver getInternalResourceViewResolver() { 
     InternalResourceViewResolver resolver = new InternalResourceViewResolver(); 
     resolver.setPrefix("/WEB-INF/"); 
     resolver.setSuffix(".html"); 
     return resolver; 
    } 


     @Override 
    public void addViewControllers(ViewControllerRegistry registry) { 
     registry.addViewController("/login").setViewName("login"); 
    } 
// 
// @Override 
// public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { 
//  configurer.enable(); 
// } 

    public static void main(String[] args) { 
     SpringApplication.run(WebUi.class, args); 
    } 
} 

Я попытался с позволяя DefaultServletHandler и без. Файл html размещен в файле src/main/resources/WEB-INF/login.html и собран. Я вижу это в classpath в отладке. Но запрос к http://localhost:8080/login возвращает 404. Что я делаю неправильно?

+0

Один подсказку, которая может помочь: установить привод и открыть/сопоставление – Marged

+0

Спасибо, @Marged. Я вижу конечную точку. Я полагаю, проблема не в уровне контроллера. Что-то не так с представлением .. –

+0

Запуск через встроенный сервер tomcat или использование внешнего сервера приложений? –

ответ

0

Удалить все аннотации оставить только @SpringBootApplication.

Удалите InternalResourceViewResolver и просто добавьте следующее к application.properties.

spring.view.prefix=/WEB-INF/ 
spring.view.suffix=.html 

Ваш текущий класс приложений препятствует конфигурации Spring загрузки авто из-за @EnableWebMvc. Следующий @SpringBootApplication уже предполагает @Configuration, @EnableAutoConfiguration и @ComponentScan не нужно добавлять их снова.

При добавлении свойств spring.view.* Spring Boot уже настроил для вас InternalResourceViewResolver.

Основной совет здесь - работа с каркасом не вокруг/против рамки.

Смежные вопросы