728x90
반응형
익스플로러의 고질적인 문제인 호환성 보기 문제로 인하여 이를 각페이지별로 meta 태그를 생성할 수는 없어서
이에대해 서블릿의 Filter 를 구현한 IeEmulateFilter 클래스를 개발하여 모든 요청에 대한 응답에 res.setHeader("X-UA-Compatible", "IE=8"); 를
내려주도록 하여 IE-8 로 에뮬레이트가 고정되도록 하였다.
아래는 IeEmulateFilter 클래스이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | package org.springframework.web.servlet; 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.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * IE 일경우 호환성 보기로 변경해주는 Filter * @author digimon1740 * */ public class IeEmulateFilter implements Filter { public void destroy() {} public void doFilter(ServletRequest servRequest, ServletResponse servResponse, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest)servRequest; HttpServletResponse res = (HttpServletResponse)servResponse; String userAgent = req.getHeader("User-Agent"); if(userAgent.indexOf("MSIE")!=-1 || userAgent.indexOf("Trident")!=-1) // IE일때 res.setHeader("X-UA-Compatible", "IE=8"); chain.doFilter(req, res); } public void init(FilterConfig config) throws ServletException {} } |
WEB-INF/web.xml 에 아래의 filter 태그를 작성해준다.
1 2 3 4 5 6 7 8 9 10 11 | <filter> <filter-name>ieFilter</filter-name> <filter-class> org.springframework.web.servlet.IeEmulateFilter </filter-class> </filter> <filter-mapping> <filter-name>ieFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> |
728x90
반응형
'JAVA' 카테고리의 다른 글
Locale 클래스를 이용한 표준 국가 명 한글로 얻어오기 (1) | 2014.07.01 |
---|---|
Quartz 라이브러리 연동을 통한 스케쥴러 구현 (0) | 2014.06.06 |
외부 설정파일을 읽어들여 값을 반환하는 ConfigInjector 클래스 (0) | 2014.05.06 |
파일확장자를 필터링 하는 클래스 - FileExtFilter (0) | 2014.03.06 |
String,StringBuffer,StringBuilder 이 세가지중 무엇을 써야 할까요? (0) | 2013.11.09 |