Pergunta

Eu tenho um aplicativo que não é compatível para trabalhar usando o navegador IE8.

Estou procurando uma maneira de configurar o Tomcat no qual esse aplicativo é executado, para que as páginas possam ser lidas pelo IE8 e tratadas como se fossem IE7 ou IE6

Ao pesquisar no Google até agora, encontrei uma possível sugestão que dizia para adicionar à resposta HTTP o cabeçalho:X-UA Compatível: IE = Emulada7
aqui

que dizem ao IE8 como IE7.

O problema é que dessa maneira exige adicionar um filtro que deve ser adicionado no nível do aplicativo. Eu gostaria de saber se algum de vocês está familiarizado com uma maneira mais genérica que o Tomcat permite enviar seu conteúdo HTTP para ser compatível com IE7 (ou IE6)?

Foi útil?

Solução

O Tomcat é um servidor da web de uso geral e contêiner de servlet. É absolutamente agnóstico do navegador, portanto, não há como configurá-lo de uma maneira especial de lidar com o IES.

Você não precisa adicionar o filtro realmente. O mínimo nu é definir o cabeçalho da resposta em qualquer lugar no método "Serviço" (ou Doget ou DoPost, qualquer que seja o aplicativo):

res.AddHeader ("X-UA Compatível", "ie = emule7");

Mas isso ocorre quando há um único ponto de entrada no aplicativo do servidor. Caso contrário, o filtro deve fazer o trabalho de uma maneira melhor.

Outras dicas

  1. Faça o download do urlrewritefilter-4.0.3.jar de http://tuckey.org/urlrewrite/
  2. Adicionar urlrewritefilter-4.0.3.jar a web-inf/lib
  3. Adicione o código a seguir ao 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. Faça um novo arquivo de configuração para o módulo. (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>

Veja este fórum fio Isso discute exatamente a mesma situação que você está descrevendo. Parece que um filtro é o melhor caminho a percorrer. Como uma resposta no tópico acima sugere, você pode usar Filtro de reescrita de URL.

Além disso, se você estiver usando o Apache Web Server para proxy TomCat, poderá configurá -lo facilmente para adicionar qualquer cabeçalho à resposta.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top