Что я пытаюсь сделать, это сопоставить запросы с корнем сервлета (правильная терминология?). Я нахожусь в точке, где URL сопоставлены для правильного просмотра, но все статическое содержимое - css, javascript, images - которое является частью страницы, не может быть найдено.
Так что в моем web.xml мой тег сервлета выглядит так
<servlet-mapping>
<servlet-name>springapp</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Мой контроллер выглядит примерно так:
@RequestMapping("/shop")
public class TheShopController extends MyBaseController {
public static String VIEW = "Tile.Shop";
@Override
@RequestMapping(method = RequestMethod.GET)
protected ModelAndView processRequest(HttpServletRequest req, HttpServletResponse resp) {
ModelAndView mav = new ModelAndView(VIEW);
return mav;
}
}
MyBaseController очень прост. Это выглядит так:
public abstract class MyBaseController extends AbstractController {
protected Logger log = Logger.getLogger(getClass());
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest req, HttpServletResponse resp)
throws Exception {
ModelAndView mav = processRequest(req, resp);
return mav;
}
protected abstract ModelAndView processRequest(HttpServletRequest req, HttpServletResponse resp);
}
Я использую плитки в моем слое вида. Моя конфигурация следующая:
/WEB-INF/tiles-defs.xml
Как я уже говорил, представления найдены, но статические ресурсы, которые являются портом страницы, не могут быть найдены. Вот несколько типичных вариантов выхода из системы:
2010-01-24 17: 25: 01,777 DEBUG [http-8080-7] servlet.DispatcherServlet
(DispatcherServlet.java:690) - DispatcherServlet с именем «springapp»
обработка запроса GET для [/springapp/static/css/account.css]
2010-01-24 17: 25: 01,778 ПРЕДУПРЕЖДЕНИЕ [http-8080-4] servlet.DispatcherServlet
(DispatcherServlet.java:962) - не найдено сопоставление для HTTP-запроса с
URI [/springapp/static/css/shop.css] в DispatcherServlet с именем
'springapp' 2010-01-24 17: 25: 01,778 DEBUG [http-8080-6]
servlet.FrameworkServlet (FrameworkServlet.java:677) - успешно
выполненный запрос 2010-01-24 17: 25: 01,778 ПРЕДУПРЕЖДЕНИЕ [http-8080-5]
servlet.DispatcherServlet (DispatcherServlet.java:962) - нет сопоставления
найдено для HTTP-запроса с URI [/springapp/static/css/offers.css] в
DispatcherServlet с именем «springapp» 2010-01-24 17: 25: 01,778 ВНИМАНИЕ
[http-8080-3] servlet.DispatcherServlet (DispatcherServlet.java:962) -
Не найдено сопоставление для HTTP-запроса с URI
[/springapp/static/css/scrollable-buttons.css] в DispatcherServlet
с именем 'springapp'
Собираюсь
http://localhost:8080/springapp/shop работает нормально, но CSS и изображения отсутствуют.
Я думаю, что использование Tiles как-то усложняет ситуацию, но я не хочу от этого избавляться. Мне интересно, нужно ли мне как-то настраивать разрешение моего вида? просто не настолько опытный в этом.