Spring-Boot не находит страницы JSP в файле WAR

При запуске проекта начальной загрузки (java -jar /path/to/war.war) .jsp файлы не найдены.

Методы, помеченные @ResponseBody, работают нормально. Средство распознавания представлений предлагает правильный путь к страницам JSP, но они не найдены. Этот проект имеет один класс конфигурации и не имеет web.xml.

Класс конфигурации:

@Configuration
@EnableAutoConfiguration
@EnableWebMvc
@ComponentScan (basePackages = "org.ghc.security.web")
class ScMain extends WebMvcConfigurerAdapter {


    // SpringBoot BootStrap...
    static void main (String[] args) {
        ApplicationContext ctx = SpringApplication.run (ScMain, args)

        System.out.println("Let's inspect the beans provided by Spring Boot:");

        String[] beanNames = ctx.getBeanDefinitionNames();
        Arrays.sort(beanNames);
        beanNames.each { beanName ->
            System.out.println(beanName);
        }
    }


    @Bean
    InternalResourceViewResolver internalResourceViewResolver () {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver()
        viewResolver.setPrefix("/WEB-INF/jsp/")
        viewResolver.setSuffix(".jsp")
        viewResolver
    }
}

контроллер

@Controller
class Running {

    @RequestMapping ("/alive")  // This works fine
    @ResponseBody
    String amIAlive () {
        "ALIVE!"
    }


    @RequestMapping ("/alive/page")  // Path to page resolved, but file not found!
    ModelAndView amIAlivePage () {
        new ModelAndView("alivepage")
    }
}

Журнал ошибок

2013-11-25 09: 08: 28.714 ОШИБКА 1549 --- [tp1945397783-20] org.apache.jasper.servlet.JspServlet: PWC6117: Файл "% 2FUsers% 2Fnode42% 2FDevelopment% 2Fmock-безопасности щ% 2Fbuild% 2Flibs% 2Fmock-безопасности щ-2,06-SNAPSHOT.war% 2FWEB-INF% 2Fjsp% 2Falivepage.jsp» не найдено

Путь к файлу .war в записи журнала правильный, а путь в файле war (WEB-INF / jsp / alivepage.jsp) правильный. Ответ одинаков как для Jetty, так и для Tomcat (указанный выше журнал был от Jetty). Я также пытался не использовать распознаватель представлений, указав его, как указано выше, или настраивать преобразователь представлений через свойства. Я совершенно сбит с толку, так как на самом деле все выглядит так, как будто оно работает, за исключением одной маленькой детали. И аннотированный метод @ResponseBody в контроллере работает нормально.

Если у кого-то есть предложения, яЯ, безусловно, ценю вклад!

Ответы на вопрос(5)

Ваш ответ на вопрос