Я запускаю веб-приложение в контейнере Tomcat 7 и получаю 404 ошибки при попытке получить доступ к статическому контенту (.css и т. Д.). Ниже моя структура каталогов:
Я определил сервлет по умолчанию в своем дескрипторе развертывания следующим образом:
<servlet>
<servlet-name>HomeController</servlet-name>
<servlet-class>controller.HomeController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HomeController</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Сервлет HomeController перенаправляет запрос в .jsp, и представление отображается правильно.
request.getRequestDispatcher("view.jsp").forward(request,
response);
"view.jsp" имеет ссылку на таблицу стилей (style.css), расположенную в папке css, указанной выше. Однако, поскольку сервлет настроен как сервлет по умолчанию, я не могу получить доступ к статическому содержимому в папке css, и любой запрос этой таблицы стилей возвращает ошибку 404.
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/css/style.css" />
Есть ли способ обойти это? Каков наилучший метод для обслуживания статических ресурсов, но при этом можно определить сервлет по умолчанию?