Настройте Tomcat для отправки веб-страниц, совместимых с IE 7 или 6 - PullRequest
1 голос
/ 11 мая 2010

У меня есть приложение, которое не совместимо с браузером IE8.

Я ищу способ настроить Tomcat, на котором запускается это приложение, чтобы страницы могли считываться IE8 и обрабатываться так, как если бы они были IE7 или IE6

Пока гуглял, я нашел возможное предложение, которое говорит добавить в ответ http заголовок: X-UA-совместимый: IE = EmulateIE7
здесь

, который говорит IE8 быть похожим на IE7.

Проблема в том, что этот способ требует добавления фильтра, который должен быть добавлен на уровне приложения. Я хотел бы знать, знаком ли кто-нибудь из вас с более общим способом, которым Tomcat позволяет отправлять свой http-контент для совместимости с IE7 (или IE6)?

Ответы [ 3 ]

5 голосов
/ 12 ноября 2014
  1. Скачать urlrewritefilter-4.0.3.jar из http://tuckey.org/urlrewrite/
  2. Добавить urlrewritefilter-4.0.3.jar в WEB-INF / lib
  3. Добавить следующий код в WEB-INF / web.xml
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
  1. Создать новый файл конфигурации для модуля. (WEB-INF / urlrewrite.xml)
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN" "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
<rule><condition name="user-agent">.*MSIE.*</condition>
<set type="response-header" name="X-UA-Compatible">IE=EmulateIE7</set>
</rule>
</urlrewrite>
1 голос
/ 11 мая 2010

Tomcat - контейнер веб-сервера и сервлета общего назначения. Он абсолютно независим от браузера, поэтому нет способа настроить его каким-либо особым образом для работы с IE.

Вам не нужно добавлять фильтр на самом деле. Минимум - установить заголовок ответа в любом месте метода «service» (или doGet или doPost, независимо от того, какое приложение использует):

res.addHeader ("X-UA-совместимый", "IE = EmulateIE7");

Но это в случае, когда в приложении сервера есть одна точка входа. В противном случае фильтр должен работать лучше.

0 голосов
/ 11 мая 2010

Смотрите этот форум Тема , где обсуждается точно такая же ситуация, которую вы описываете. Кажется, что фильтр - лучший путь. Как показывает ответ в приведенной выше теме, вы можете использовать Url Rewrite Filter .

Кроме того, если вы используете веб-сервер Apache для прокси-сервера Tomcat, его можно легко настроить для добавления любого заголовка в ответ.

...