2015-12-13 3 views
0

У меня есть foo.war, работающий в Tomcat через Eclipse. Я использую Spring Mvc. При попытке просмотреть страницу индекса для этого контекста:HTTP-статус 404 на jsp при использовании сборки нескольких модулей

http://localhost:8080/foo

я получаю: HTTP Status 404 - /foo/WEB-INF/pages/index.jsp

проект

Мой Maven имеет a src/main/webapp/WEB-INF/jsp/pages/index.jsp.

По какой-то причине это должно быть в модуле .war maven; он не может быть в отдельном модуле банки, включенном в войну, как зависимость в maven. Что странно, поскольку Tomcat собирает конфигурацию сервлета в этом отдельном модуле maven.

мнение в Spring MVC настраивается следующим образом:

InternalResourceViewResolver resolver = new InternalResourceViewResolver(); 
     resolver.setPrefix("/WEB-INF/pages/"); 
     resolver.setSuffix(".jsp"); 
     resolver.setViewClass(JstlView.class); 

Мой контроллер выглядит так:

@RequestMapping("/") 
public String index(Map<String, Object> model) throws Exception { 
    return "index"; 
} 

отображение сервлета в настоящее время "/".

Как разместить jsp в отдельном модуле?

EDIT: переписан, так как отдельная проблема спутать вопросы

EDIT: Изменены некоторые другие. Похоже, Maven мульти-модуль сборки участвует ...

+0

В случае ресурсов (конвейер весны Mvc) в моем исходном вопросе это была красная селедка, поэтому я думаю, что это только проблема для разрешения внутреннего вида. – drrob

+1

Я не уверен, в чем ваш вопрос. Префикс в InternalResourceViewResolver и url в RequestMapping ** уже ** относительно пути контекста приложения. Чего вы пытаетесь достичь, и в чем проблема, с которой вы сталкиваетесь? Если ваша цель - переслать представление, которое не является частью вашего webapp, этого не может быть. Каждый webapp является независимым. –

+0

Я в значительной степени переписал свой вопрос, теперь должно быть яснее – drrob

ответ

0

OK,

Так он помещал СПЯ в отдельную банку, что сделал это.

я должен использовать:

META-INF/ресурсы

не

WEB-INF

Смотрите также: Can I serve JSPs from inside a JAR in lib, or is there a workaround?

Обратите внимание, что это, вероятно, проще просто не используйте jsp, который должен вернуться к контейнеру сервлета из Spring. Вместо шаблонов Velocity/Freemarker/Thymeleaf можно полностью управлять Spring. Также удобно размещать шаблоны в src/main/resources, а не в этих уродливых папках META-INF/WEB-INF.

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