IE 7 または 6 と互換性のある Web ページを送信するように Tomcat を構成する

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

質問

IE8 ブラウザでの動作に互換性のないアプリケーションを入手しました。

このアプリケーションが実行される Tomcat を構成する方法を探しています。これにより、ページを IE8 で読み取って、IE7 または IE6 のように扱うことができます。

これまでグーグルで調べたところ、http応答にヘッダーを追加するという考えられる提案を見つけました。X-UA互換:IE=IE7をエミュレートする
ここ

これは、IE8 を IE7 のようにするよう指示します。

問題は、この方法ではアプリケーション レベルで追加する必要があるフィルターを追加する必要があることです。Tomcat がその http コンテンツを IE7 (または IE6) と互換性のあるものに送信できるようにする、より一般的な方法をご存じの方はいらっしゃいますか。

役に立ちましたか?

解決

Tomcatは汎用のウェブサーバとサーブレットコンテナです。これは、IEのに対処するためのいくつかの特別な方法でそれを設定する方法はありません、これは絶対ブラウザに依存しないです。

あなたは本当に、フィルタを追加する必要はありません。最低限、応答ヘッダ「サービス」法のいずれかの場所に設定することである(又はdoGetメソッドまたはdoPostメソッドを、どのアプリケーションが使用):

res.addHeader( "X-UA-互換"、 "IE = EmulateIE7");

サーバアプリケーション内の単一のエントリポイントがあるとき、

しかし、これはケースです。そうでない場合、フィルタは、より良い方法で仕事をする必要があります。

他のヒント

  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 Web サーバーを使用して Tomcat をプロキシしている場合は、応答にヘッダーを追加するように簡単に構成できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top