配置Tomcat发送兼容IE 7或6的网页

发布于 2024-08-31 17:42:03 字数 428 浏览 1 评论 0原文

我的应用程序不兼容使用 IE8 浏览器。

我正在寻找一种方法来配置运行此应用程序的 Tomcat,以便 IE8 可以读取这些页面,并将其视为 IE7 或 IE6

通过谷歌搜索到目前为止,我发现了一个可能的建议,即添加到 http 响应标题: X-UA 兼容:IE=EmulateIE7
此处

告诉 IE8比如IE7。

问题是这种方式需要添加一个应该在应用程序级别添加的过滤器。我想知道你们中是否有人熟悉 Tomcat 能够发送其 http 内容以兼容 IE7(或 IE6)的更通用的方式?

I have got an application that is not compatible to work using IE8 browser.

I am looking for a way to to configure Tomcat on which this application run, so the pages could be read by IE8 and treated as if they are IE7 or IE6

By googling so far I found a possible suggestion which say to add to the http response the header:
X-UA-Compatible: IE=EmulateIE7
here

that tell IE8 to be like IE7.

The problem is that this way requires adding a filter that should be added on application level. I'd like to know if any of you is familiar with a more generic way that Tomcat enables to send its http content to be IE7 (or IE6) compatible ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

月亮是我掰弯的 2024-09-07 17:42:03
  1. http://tuckey.org/urlrewrite/ 下载 urlrewritefilter-4.0.3.jar
  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. Download urlrewritefilter-4.0.3.jar from http://tuckey.org/urlrewrite/
  2. Add urlrewritefilter-4.0.3.jar to WEB-INF/lib
  3. Add following code to 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. Make a new configuration file for the module. (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>
晨敛清荷 2024-09-07 17:42:03

Tomcat 是一个通用的 Web 服务器和 servlet 容器。它绝对与浏览器无关,因此无法以某种特殊的方式配置它来处理 IE。

您实际上不必添加过滤器。最低限度是在“service”方法(或 doGet 或 doPost,无论应用程序使用什么)中的任何位置设置响应标头:

res.addHeader("X-UA-Compatible", "IE=EmulateIE7 ");

但这是在服务器应用程序中只有一个入口点的情况下。否则过滤器应该以更好的方式完成这项工作。

Tomcat is a general purpose webserver and servlet container. It is absolutely browser-agnostic thus, there's no way to configure it in some special way to deal with IEs.

You don't have to add filter really. The bare minimum is to set the response header anywhere in "service" method (or doGet or doPost, whatever application uses):

res.addHeader("X-UA-Compatible", "IE=EmulateIE7 ");

But this is in case when there's a single entry point in the server application. Otherwise filter should do the job in a better way.

瑶笙 2024-09-07 17:42:03

请参阅此论坛 线程 讨论的情况与您所描述的情况完全相同。看来过滤器是最好的方法。正如上述线程中的答案所示,您可以使用网址重写过滤器

另外,如果您使用 Apache Web Server 来代理 Tomcat,您可以轻松配置它以向响应添加任何标头。

See this forum thread that discusses exactly the same situation you are describing. It seems that a filter is the best way to go. As an answer at the above thread suggests, you could use Url Rewrite Filter.

Also, if you are using Apache Web Server to proxy Tomcat, you could easily configure it to add any header to the response.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文