您好. 您的文章筆記好棒, 感謝分享.不好意思, 要請教您一個小問題.請問: 如何在WAS6.0 上執行 HTTP Header的設定? 我目前的環境是 WAS6.0.2.9, 沒有安裝IBM HTTP Server. 若是此種情況, 我如何編輯or設定 httpd.conf 檔案? 是不是只有安裝HTTP Server, 才會有此檔案?因為要配合IE8的相容性檢視, 我需要在WEbServer 中加上一段語句:Header set X-UA-Compatible "IE=EmulateIE7". 不知道該如何加? 在何處加?若您知道答案, 再麻煩指導. 謝謝!!
Dear Skywalker,我想最好的解決方法應該是寫個filter,針對所有的response設定你所需的Header。1. Filter原始碼如下:// ---------------------------package idv.dolph.myjavanote;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletResponse;public class IE8EmuIE7HeaderFilter implements Filter { @Override public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletResponse hresp = (HttpServletResponse) resp; hresp.addHeader("X-UA-Compatible", "IE=EmulateIE7"); chain.doFilter(req, resp); } @Override public void init(FilterConfig arg0) throws ServletException { } @Override public void destroy() { }}// ---------------------------2. 寫好Filter後,WEB-INF下的web.xml多加下列設定:<!-- ---------------- --><filter><description>IE8設定Header模擬IE7</description><filter-name>IE8EmuIE7</filter-name><filter-class>idv.dolph.myjavanote.IE8EmuIE7HeaderFilter</filter-class></filter><filter-mapping><filter-name>IE8EmuIE7</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- ---------------- -->OK後重啟你的WebApp應該就可以了。以上的解決方法使用Filter所以在各家Servlet container都可以使用,不會侷限於Websphere上。由於我還沒有用過IE8所以也還沒做過相關測試,麻煩你試了後再回覆個結果吧,有任何問題也歡迎提出喔~~
張貼留言
2 則留言:
您好. 您的文章筆記好棒, 感謝分享.
不好意思, 要請教您一個小問題.
請問: 如何在WAS6.0 上執行 HTTP Header的設定? 我目前的環境是 WAS6.0.2.9, 沒有安裝IBM HTTP Server. 若是此種情況, 我如何編輯or設定 httpd.conf 檔案? 是不是只有安裝HTTP Server, 才會有此檔案?
因為要配合IE8的相容性檢視, 我需要在WEbServer 中加上一段語句:Header set X-UA-Compatible "IE=EmulateIE7". 不知道該如何加? 在何處加?
若您知道答案, 再麻煩指導. 謝謝!!
Dear Skywalker,
我想最好的解決方法應該是寫個filter,針對所有的response設定你所需的Header。
1.
Filter原始碼如下:
// ---------------------------
package idv.dolph.myjavanote;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
public class IE8EmuIE7HeaderFilter implements Filter {
@Override
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
HttpServletResponse hresp = (HttpServletResponse) resp;
hresp.addHeader("X-UA-Compatible", "IE=EmulateIE7");
chain.doFilter(req, resp);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
@Override
public void destroy() {
}
}
// ---------------------------
2.
寫好Filter後,WEB-INF下的web.xml多加下列設定:
<!-- ---------------- -->
<filter>
<description>
IE8設定Header模擬IE7
</description>
<filter-name>
IE8EmuIE7
</filter-name>
<filter-class>
idv.dolph.myjavanote.IE8EmuIE7HeaderFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>
IE8EmuIE7
</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- ---------------- -->
OK後重啟你的WebApp應該就可以了。
以上的解決方法使用Filter所以在各家Servlet container都可以使用,不會侷限於Websphere上。
由於我還沒有用過IE8所以也還沒做過相關測試,麻煩你試了後再回覆個結果吧,有任何問題也歡迎提出喔~~
張貼留言