웹 애플리케이션에 필요한 필터 - 압축 필터
압축 필터는 인터넷을 통해서 웹 서버에서 사용자에게 보내는 컨텐츠의 크기를 최적화시켜 페이지 로딩 시간을 절약해 주는 효과를 볼 수 있습니다. 그만큼 네트워크 Bandwidth을 덜 차지하니깐요.
아래는 적용 방법을 공유합니다.
1. 기능 보완
아래의 참조 사이트를 참고하여 만든 소스입니다. 다운 받으실 수 있습니다.
추가된 내용은
2. web.xml 추가
이미지같은 경우는 압출할 경우 오히려 사이즈가 증가할 우려가 있으니 제외하는 것이 좋습니다.
3. 관련 자료
- 웹 성능 향상 개발 방법
- Two Servlet Filters Every Web Application Should Have
아래는 적용 방법을 공유합니다.
1. 기능 보완
아래의 참조 사이트를 참고하여 만든 소스입니다. 다운 받으실 수 있습니다.
추가된 내용은
- GZIPFilter.isGZIPSupported(HttpServletRequest) 함수 수정
- GZIPResponseWrapper.getWriter() 함수 수정
// From cmurphy@intechtual.com to fix:
// https://appfuse.dev.java.net/issues/show_bug.cgi?id=59
if (this.origResponse != null && this.origResponse.isCommitted()) {
return super.getWriter();
} - GZIPResponseWrapper.sendError(int, java.lang.String) 함수 수정
- 다운 로드 : GZIPResponseWrapper.java, GZIPResponseStream.java, GZIPFilter.java
2. web.xml 추가
이미지같은 경우는 압출할 경우 오히려 사이즈가 증가할 우려가 있으니 제외하는 것이 좋습니다.
<filter>
<filter-name>compressionFilter</filter-name>
<filter-class>com.mimul.web.filter.GZIPFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>compressionFilter</filter-name>
<url-pattern>*.css</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>compressionFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>compressionFilter</filter-name>
<url-pattern>*.js</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>compressionFilter</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
3. 관련 자료
- 웹 성능 향상 개발 방법
- Two Servlet Filters Every Web Application Should Have








