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

StackOverflow https://stackoverflow.com/questions/2810271

Вопрос

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

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

Пока что, погуглив, я нашел возможное предложение, в котором говорится добавить к http-ответу заголовок:Совместимость с X-UA:IE=Эмуляция7
здесь

это говорит о том, что IE8 должен быть похож на IE7.

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

Это было полезно?

Решение

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

Вам не нужно добавлять фильтр на самом деле. Минимальный минимум состоит в том, чтобы установить заголовок ответа в любом месте «Сервис» (или Doget или Dopost, независимо от использования приложения):

res.adddheader («X-UA-совместимый», «IE = EmulleaseIe7»);

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

Другие советы

  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>

Посмотрите этот форум Нитки это обсуждает точно такую же ситуацию, которую вы описываете.Кажется, что фильтр - это лучший выход.Как следует из ответа в приведенной выше теме, вы могли бы использовать Фильтр Перезаписи URL-адресов.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top