iWiz ShareBase

IT Specialist 윤태현의 iWiz ShareBase는 IT뿐 아니라 각종 잡다한 지식들을 함께 나누는 지식공유 커뮤니티입니다.

iWiz,ShareBase,윤태현,Java,JSP,EJB,IT,정보기술,웹프로그래밍,PHP,ASP,DBMS,MySQL,서버,네트워크,server,network,WAS,웹애플리케이션,블로그,blog,웹서버,DB,오라클,oracle,mysql,JRun,웹로직,톰캣,tomcat,아파치,자동차,EF쏘나타,로또 6/45

갤러리 Pixelgrapher.com | 로또 6/45 번호생성 및 통계 데이터 | 전체기사보기 | 전체글 #1 | 전체글 #2 | 전체글 #3 | 전체글 #4 | 전체글 #5 | 전체글 #6 | 전체글 #7 | 전체글 #8 | 전체글 #9 | 전체글 #10 |
HOME iWiz
ShareBase
Remember 0523 & 0818
지식은 나눌수록 커집니다 - iWiz's ShareBase
웹프로그래밍(기타) PHP, ASP, Perl, CGI 등 각종 웹프로그래밍에 관한 자료들입니다.


  iWiz(2004-03-23 21:56:38, Hit : 7223, Vote : 25
 http://www.wz.pe.kr

서블릿을 이용해 1 픽셀 투명이미지 출력하기


메일 수신 확인 등의 용도로 img 태그 내에 서블릿 등의 프로그램을 호출하는 코드를 넣는 경우가 있습니다.
이때 서블릿에서는 1픽셀짜리 투명 이미지를 내보내 사용자가 자신의 존재 여부를 알 수 없게합니다.
(이미지 데이터가 올바르지 않거나 투명이미지가 아닌 경우 등에는 메일창이나 브라우져 등에 바로 표시되니까요)

이런 로직을 가지는 프로그램을 만들때 매번 미리 만들어둔 1픽셀 이미지 파일을 읽어와 그 컨텐츠를 보내주는 것도 번거롭거니와, 행여 나중에 그 이미지 파일이 사라지면 Exception이 발생할 것 입니다.

1 픽셀짜리 gif 이미지의 크기는 얼마 크지 않으므로(54바이트) 다음과 같이 아예 상수로 데이터를 박아놓고 사용하면 부하측면이나 유지관리 측면에서나 유리할 것 입니다.


        // 공백 이미지 데이터 (image/gif).
        private final static byte[] blankImage =
                                {        
                                         71,  73,   70, 56, 57, 97,  1,  0,
                                          1,   0, -111, -1,  0, -1, -1, -1,
                                          0,   0,    0, -1, -1, -1,  0,  0,
                                          0,  33,   -1, 11, 65, 68, 79, 66,
                                         69,  58,   73, 82, 49, 46, 48,  2,
                                        -34, -19,    0, 33, -7,  4,  1,  0,
                                          0,   2,    0, 44,  0,  0,  0,  0,
                                          1,   0,    1,  0,  0,  2,  2, 84,
                                          1,   0,   59
                                };

        private void sendImage(HttpServletResponse response) {

                // 이미지 전송을 위한 HTTP 헤더 보내기
                response.setContentType("image/gif");
                response.addHeader("Content-Transfer-Encoding", "binary");
                response.addHeader("Pragma", "no-cache");
                response.setDateHeader("Expires", 1);
                response.setContentLength(blankImage.length);

                // 실제 이미지 데이터 보내기
                BufferedInputStream bis = null;
                BufferedOutputStream bos = null;
                try {
                        bos = new BufferedOutputStream(response.getOutputStream());
                        bos.write(blankImage, 0, blankImage.length);
                } catch (Exception e) {
                        e.printStackTrace();
                        try {
                                response.sendError(400);
                        } catch (Exception ex) { }
                } finally {
                        try { if (bos != null) bos.close(); }
                        catch (Exception ex) { }
                } // try catch
                
        } // if

* iWiz님에 의해서 게시물 이동되었습니다 (2010-02-03 16:57)



62   mod_throttle 모듈을 이용한 사용자 트래픽 제어  iWiz 2006/06/22 8910 0
61   Tomcat-Apache using JK2 connector  iWiz 2004/03/21 6497 41
60   RedHat 9.0에서의 JRun JSP 컴파일러의 문제점  iWiz 2004/01/04 5382 50
59   RedHat 9.0에서의 JRun-Apache 커넥터의 문제점  iWiz 2004/01/04 5064 48
58   JRun 4.0의 튜닝 관련 옵션  iWiz 2004/01/04 5810 68
57   JRun 4.0의 Activity 모니터링 방법  iWiz 2004/01/04 4786 57
56   JRun4.0: DataSource 커넥션풀 관련 옵션 [4]  iWiz 2004/01/04 6532 46
55   JRun에서 JSP 컴파일시 java 파일 생성하기  iWiz 2004/01/04 7916 63
54   JRun의 실제 서비스 운영시 고려사항  iWiz 2004/01/04 6192 44
53   수정된 인터넷 익스플로러에서 상호작용 ActiveX 컨트롤 활성화 가이드  iWiz 2006/03/03 8226 4
52   HTML 특수기호 엔터티(Entity) 테이블 [2]  iWiz 2006/03/03 13887 2
51   웹사이트의 새로운 혁명 Ajax [13]  iWiz 2005/11/22 5724 6
50   MSN 메신저 친구 자동등록 스크립트  iWiz 2004/10/12 6067 35
49   JavaScript MD5 해쉬 생성 함수  iWiz 2004/01/07 8881 35
48   JavaScript로 만든 진법변환 및 보수계산기 [4]  iWiz 2004/01/04 157917 51

1 [2][3][4][5]
 

Copyright 1999-2023 Zeroboard / skin by zero
iWiz ShareBase, ⓒCopyleft by iWiz.  For more information contact .
본 웹사이트에 게시된 이메일 주소가 전자우편 수집 프로그램이나 그 밖의 기술적 장치를 이용하여 무단으로 수집되는 것을 거부하며, 이를 위반시에는 정보통신망법에 의해 형사처벌됨을 유념하시기 바랍니다. [게시일 2004. 1. 31]