Страница JSP как файл CSS на Tomcat - PullRequest
3 голосов
/ 14 августа 2010

Я хочу получить файл CSS, который на самом деле является страницей jsp. Одна из причин заключается в том, что я хотел бы использовать теги c: url, чтобы сделать путь к изображениям независимым от контекста.

Пока что я нашел возможность настроить это только в server.xml. Но он нужен только для моего веб-приложения, а не для всего сервера.


Обновление: Установка типа содержимого для текста / CSS, конечно, работает. Но он все равно оставляет мне style.jsp, тогда как я хочу, чтобы файл назывался style.css. Одной из причин этого будет то, что подсветка синтаксиса и автозаполнение Eclipse сработают.

Ответы [ 2 ]

2 голосов
/ 15 августа 2010

Расширение файла на самом деле не имеет значения.Ключом является заголовок HTTP Content-Type.Браузер использует эту информацию для правильной обработки ответа.

Поместите это в верхнюю часть вашего файла JSP, который должен быть CSS:

<%@ page contentType="text/css" %>

Вот и все.1010 * Если вы оставите ручную настройку заголовка HTTP Content-Type, то работа по настройке заголовка Content-Type будет выполняться сервлет-контейнером / веб-сервером. Эта часть затем анализирует расширение файла, чтобы установить соответствующий заголовок.


Обновление : согласно вашему обновлению вы хотите использовать .cssрасширение в любом случае, чтобы воспользоваться подсветкой IDE и автозаполнением.Тогда есть другой способ: отобразить файл CSS на servlet-name JspServlet, как это определено в конкретном контейнере сервлетов.В случае Tomcat это обычно jsp.

<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>/style.css</url-pattern>
</servlet-mapping>

Однако вы должны принять во внимание, что поведение вашего веб-приложения теперь будет зависеть от рассматриваемого сервлет-контейнера.Могут существовать контейнеры сервлетов, которые не используют jsp как servlet-name.

1 голос
/ 14 августа 2010

Вы пытались использовать расширение jsp для файла и его ссылку. Вам придется изменить тип MIME в JSP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...