Простейший пример:
У меня есть сервлет диспетчера, настроенный на перехват всего:
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
У меня есть простой тестовый контроллер:
@RequestMapping("/index")
@ResponseBody
public String rootTest(){
return "Main page displayed from TestController";
}
В этом тестеcase Я добавляю (или удаляю) следующую строку к dispatcher-servlet.xml
:
<mvc:resources mapping="/public/**" location="/public/"/>
Моя высокая цель: служить статическому контенту (изображения, css, js) вместе с моим динамическимcontent (генерируется через Velocity в контейнере сервлетов Jetty, связанном со всемогущим Spring).
Моя дилемма: Когда я добавляю <mvc:resources .../>
, я получаю 404 за http://localhost/index
, ноЯ могу подать изображение из http://localhost/public/img/42.png. Если я удаляю <mvc:resources .../>
, тогда http://localhost/index
работает нормально, но, конечно, как мне обслуживать статический контент?
Дополнительный вопрос: Почему я никогда не могу взять свой пирог и съесть его тоже?