Spring MVC не может найти JSP при развертывании на встроенном сервере Jetty 8

Я пытаюсь запустить встроенный сервер Jetty и развернуть в нем приложение Spring MVC, но возникает проблема сопоставления ресурсов - в частности, я не могу сопоставить контроллер Spring mvc, чтобы он мог найти мои JSP.

Конфигурация:

  • причал-8.1.8.v20121106
  • Весна 3.2

Конфигурация сервера Jetty:

    Server server = new Server();

    ServletContextHandler context = new ServletContextHandler();
   //WebAppContext context = new WebAppContext();
    context.setBaseResource(Resource.newClassPathResource("webapp"));
    context.setClassLoader(Thread.currentThread().getContextClassLoader());
    context.setContextPath("/");

    AnnotationConfigWebApplicationContext webAppContext = new AnnotationConfigWebApplicationContext();
    webAppContext.register(WebFaceSpringConfiguration.class);
    webAppContext.setServletContext(context.getServletContext());
    webAppContext.setParent(applicationContext);

    context.addServlet(new ServletHolder(new DispatcherServlet(webAppContext)), "/");

    server.setHandler(context);
    server.setConnectors(jettyConnectors);

Папка webapp находится в пути к классам, но в такой конфигурации у меня возникает ошибка Проблема с доступом к /WEB-INF/pages/main-page.jsp (который на самом деле находится в веб-приложение). Таким образом, вызывается метод контроллера, но невозможно разрешить представление.

Я попытался использовать WebAppContext и сопоставление с подстановочными знаками для сервлета Spring Dispatcher (/ *), но это не помогло - сопоставление контроллера игнорируется или JSP не может быть найден.


person viator    schedule 26.04.2013    source источник
comment
Вы можете опубликовать свою ошибку?   -  person Sotirios Delimanolis    schedule 26.04.2013


Ответы (1)


Вам нужно указать viewresolver, обычно это выглядит в xml

 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"
          p:prefix="/WEB-INF/pages/" p:suffix=".jsp"/>
person NimChimpsky    schedule 26.04.2013
comment
на самом деле у меня есть один. И он выглядит активным, поскольку мой метод контроллера возвращает имя представления главной страницы, но ошибка содержит полный путь к файлу jsp. - person viator; 26.04.2013
comment
@viator Я не знаком с причалом ... извините, больше не могу помочь - person NimChimpsky; 26.04.2013