캠핑과 개발


1. 원인 및 현상
Weblogic에서 response.setContentLength로 헤더정보에 셋팅한 것과 실제 렌더링되는 바이트수가 다를 경우 에러가 발생함.  Tomcat은 이에 대해 Exception Catch를 하지 않음.

2. 알려진 해법
response.setContentLength 부분을 삭제해도 특별히 문제점 발견은 못함.
정상적인 해법은
byte b[] = new byte[4096]
byte b[] = new byte[streamBytes];  <---  Content Length로 명시한 값과 일치하도록


3. Sitemesh 에서의 해당 부분
com.opensymphony.module.sitemesh.filter.PageFilter 클래스의
private void writeOriginal(HttpServletRequest request, HttpServletResponse response, Page page) 메소드에서
//response.setContentLength(page.getContentLength());   //<--  이 부분을 주석처리