JSP 파일다운로드를 구현하며 이것저것 구글링해보다가 참고하면 좋은 내용이 있어 퍼왔다.
역시, setContentType 메서드가 데이터의 출력형태를 결정하는게 맞네.
다만 출력 전 '데이터파싱 -> 출력형태 파악' 단계를 먼저 거치는것같음.
출처는 웹마당 (바로가기 링크)
[JSP setContentType 메소드와 MIME 타입] | |||
예) response.setContentType("text/xml"); // MIME 타입만 지정 "text/html" 의 변경이나 캐릭터의 인코딩을 재 지정하고자 할때 사용합니다.
위의 MIME 타입에서 맨 마지막에 굵게 표기되어 있는 octet-stream 이라는 놈은 이름 그대로 8비트 바이너리 배열을 의미하며 http나 이메일상에서 application 형식이 지정되지 않았거나 형식을 모를때 사용합니다. 결국 브라우저는 octet-stream 으로 MIME 타입이 지정된 경우 단지 바이너리 데이터로서 다운로드만 가능하게 처리하게 됩니다. ※ setContentType 메소드로 contentType을 지정해 놓고 출력 스트림을 바꾸는 것은 물건을 줬다 뺐는 행위입니다. 즉 setContentType 메소드가 제일 먼저 호출되고 getOutputStream과 같은 출력 스트림 메소드가 사용되어져야 합니다 |