저는 jsp보다는 서블릿을 더 좋아합니다. 그래서 서블릿 소스로 된 것을 보여드리겠습니다.

jsp도 서블릿으로 처리되므로...

 

이미지 파일이라고 해서 이미지 처리하는 객체가 필요한게 아닙니다.
이미지 파일이든 문서 파일이든 바이트스트림으로 전송하면 됩니다.

GET방식으로 접근할때 메소드입니다.

붉은색 부분이 실제 처리하는 부분이고요

파랑색 부분이 전송하는 부분입니다.

JSP 소스에서 적용시켜 보셔도 좋을 듯 싶습니다.

 

 public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException ,IOException
 {
  String ItemID  = req.getParameter("id");
  ItemID = ItemID.toUpperCase();
      String ItemType  = req.getParameter("type");
      ItemType = ItemType.toUpperCase();

   File imgFile = new  File(이미지경로)      ;
   중략..
   
   FileInputStream ifo = new FileInputStream(imgFile);
   ByteArrayOutputStream baos = new ByteArrayOutputStream();
   byte[] buf = new byte[1024];
   int readlength = 0;
   while( (readlength =ifo.read(buf)) != -1 )
   {
    baos.write(buf,0,readlength);
   }
   byte[] imgbuf = null;
   imgbuf = baos.toByteArray();
   baos.close();
   ifo.close();    
   
   int length = imgbuf.length;   
   OutputStream out = res.getOutputStream();    
   out.write(imgbuf , 0, length);

   out.close();   
  }
  catch(FileNotFoundException e)
  {
   
  }
  catch(IOException e)
  {
   
  }  

 }

 

 

위 페이지가 ImageViewer 라는 서블릿 클래스라고 하면

HTML 페이지에서는 이미지 태그에 넣으시면 이미지가 보여집니다.

<pre> 는 저장하면 아래 소스가 안보여서 그냥 붙인 태그입니다

<pre><img src="/servlet/ImageViewer?id=100&type=A></pre>

 

링크 태그에 넣으시면 파일 다운 됩니다.

<pre><a href="/servlet/ImageViewer?id=100&type=A>다운</a></pre>


Posted by wychoi
,