¼Ò¼³°°ÀºJSP2ºÎ  7Àå Custom Tag & JavaMail  14 ÆÄÀÏ Ã·ºÎ¿¡ °ü·ÃµÇ´Â Ŭ·¡½ºµé  

 

7.14 ÆÄÀÏ÷ºÎ¿¡ °ü·ÃµÇ´Â ÁÖ¿ä Ŭ·¡½ºµé

 

ÆÄÀÏÀ» ÷ºÎÇÏ´Â ¸ÞÀÏÀº ´Ü¼øÈ÷ ¸Þ½ÃÁö¸¸À» Àü´ÞÇÏ´Â ¸ÞÀϺ¸´Ù º¹ÀâÇÑ ±¸Á¶¸¦ °¡Áö¸ç, ¸î °¡Áö Ŭ·¡½ºµéÀÌ ´õ °ü¿©ÇÕ´Ï´Ù. ÆÄÀÏ Ã·ºÎ ¸ÞÀÏ¿¡ À־ ÇÙ½ÉÀûÀÎ °ÍÀÌ Multipart¶õ °ÍÀ¸·Î ÇϳªÀÇ Multipart Object´Â ¿©·¯ °³ÀÇ ¸Þ½ÃÁö³ª ÆÄÀϵîÀ» Æ÷ÇÔÇÏ´Â ¿ªÇÒÀ» Çϴµ¥, ±× ±¸Á¶´Â ¾Æ·¡¿Í °°ÀÌ ³ªÅ¸³¾ ¼ö ÀÖ½À´Ï´Ù.

 

±×¸² 7-5 Multipart ¸Þ½ÃÁöÀÇ ±¸Á¶

 À§ ±×¸²¿¡¼­ ¿ÞÂÊÀÇ ÀÛÀº ±×¸²ÀÌ º¸ÅëÀÇ ¸ÞÀϸ޽ÃÁö¸¦ ³ªÅ¸³»´Â °ÍÀÔ´Ï´Ù. ±×¸²¿¡¼­ Content Body°¡ Multipart Object¸¦ ÂüÁ¶ÇÏ´Â ¿ªÇÒÀ» Çϸç, Multipart Object´Â ¿©·¯ °³ÀÇ Bodypart Object¸¦ Æ÷ÇÔÇϰí À־ °¢°¢ÀÇ Bodypart Object¿¡ ¸Þ½ÃÁö³ª ÷ºÎÆÄÀÏ µîÀ» ´ãÀ» ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù.

 

       ÆÄÀÏ Ã·ºÎ¸ÞÀÏÀÇ ±¸¼º

n        Multipart message Multipart Object·Î ±¸¼º

- Multipart message : Content-TypeÀ» ¡®multipart¡¯·Î ¼³Á¤ÇÑ Çì´õ ¼Ó¼º°ú Multipart Object¸¦ ÂüÁ¶ÇÏ´Â ¼Ó¼ºÀ» °¡Áø Content-Body·Î ±¸¼º

- Multipart Object : °¢°¢ÀÇ Bodypart¸¦ °¡Áú¼ö ÀÖ´Â Bodypart Object³ª DataHandler Object ¶Ç´Â ´Ù¸¥ MultipartÀÇ Container¿ªÇÒÀ» ÇÔ

 

±×·³ ÆÄÀÏ÷ºÎ ¸ÞÀÏ¿¡ °ü°èµÇ´Â ºÎ°¡ÀûÀΠŬ·¡½ºµé¿¡ ´ëÇØ »ìÆìº¸°Ú½À´Ï´Ù.

 

javax.mail.Part ÀÎÅÍÆäÀ̽º

 

Message¿Í BodyPart Ŭ·¡½º·ùÀÇ ±â¹ÝÀÌ µÇ´Â ÀÎÅÍÆäÀ̽º·Î ´ÙÀ½°ú °°Àº ¿øÇüÀ» °¡Áý´Ï´Ù.

 

n        public interface Part

 

Part ¼Ó¼ºÀº ´ëºÎºÐÀÇ Á¸ÀçÇÏ´Â ¸ÞÀÏ ½Ã½ºÅÛÀ» ±¸¼ºÇÏ´Â À̸§ °ªÀÇ ¿ä¼Òµé·Î ±¸¼ºµË´Ï´Ù. ¿¹¸¦ µé¸é Header, Content, Attatchment, MIMEType µî°ú °°Àº ¿ä¼ÒµéÀÔ´Ï´Ù.

 

Part ÀÎÅÍÆäÀ̽º ÁÖ¿ä ¸Þ¼­µå

public int getSize() Content Å©±â¸¦ ¹Ýȯ

public java.lang.String getContentType() content type¹Ýȯ

public java.lang.String getFileName() ¿¬°üµÈ ÆÄÀÏ ³×ÀÓÀ» ¹Ýȯ

public java.io.InputStream getInputStream() ÇØ´ç partÀÇ content¸¦ À§ÇÑ inputstream¹Ýȯ

public javax.activation.DataHandler getDataHandler() content¸¦ À§ÇÑ DataHandler¹Ýȯ

¡ØÀ̿ܿ¡ getContent, getHeaderµî°ú  ¶Ç ´ëÀÀµÇ´Â setXXX¸Þ¼­µåµé·Î ±¸¼º

 

javax.mail.MultiPart Ŭ·¡½º

 

 ´Ù¼öÀÇ Bodypart¸¦ °¡Áö´Â BodypartÀÇ Container¶ó°í ÇÒ ¼ö Àִ Ŭ·¡½º·Î¼­ ÇÏÀ§ ÆÄÆ®µéÀ» ¼¼ÆÃÇÏ°í º¹¿øÇÒ ¼ö ÀÖ´Â ¸Þ¼­µåµéÀ» Á¦°øÇÕ´Ï´Ù.

 

n        public abstract class Multipart extends java.lang.Object

 

MultiPart Ŭ·¡½º ÁÖ¿ä ¸Þ¼­µå

public BodyPart getBodyPart(int index) : bodypart ¸®ÅÏ(index´Â 0ºÎÅÍ ½ÃÀÛ)

public boolean removeBodyPart(BodyPart part) : ÁÖ¾îÁø bodypart¸¦ multipart¸Þ½ÃÁö¿¡¼­ Á¦°Å

public void addBodyPart(BodyPart part) : ÁÖ¾îÁø ÆÄÆ®¸¦ ¸ÖƼÆÄÆ®¿¡ Ãß°¡

public abstract void writeTo(java.io.OutputStream os) : ÀûÀýÈ÷ ÀÎÄÚµùµÈ ByteStreamÀ» ÁÖ¾îÁø OutStream¿¡ Ãâ·Â

 

javax.mail.BodyPart Ŭ·¡½º

 

Multipart³»ºÎ¿¡ Æ÷ÇԵǾ Part ºÎºÐÀ» Çü¼ºÇϴ Ŭ·¡½º·Î¼­, Part ÀÎÅÍÆäÀ̽º¸¦ »ó¼ÓÇÏ¿©, ½ÖÀ¸·Î ÀÌ·ç¾îÁø ¼Ó¼º°ú ¡°Content¡±¸¦ °¡Áö°í ÀÖ½À´Ï´Ù..

 

n        public abstract class BodyPart extends java.lang.Object implements Part

 

javax.mail.internet.MiMeBodyPart Ŭ·¡½º

 

BodyPart¸¦ »ó¼Ó¹Þ¾Æ MIME Bodypart¸¦ »ý¼ºÇϴ Ŭ·¡½º·Î MimeMultiPart °´Ã¼¿¡ Æ÷ÇԵǾîÁý´Ï´Ù.

 

n        public class MimeBodyPart extends BodyPart implements MimePart

 

MimeBodyPart Ŭ·¡½º ÁÖ¿ä ¸Þ¼­µå

public void setDataHandler(javax.activation.DataHandler dh) : body partÀÇ content¸¦ ±¸¼ºÇÒ ¼ö ÀÖ´Â ¸ÞÄ¿´ÏÁò Á¦°ø. ÁÖ¾îÁø DataHandler °´Ã¼´Â ½ÇÁ¦ÀÇ ³»¿ë(content)¸¦ Æ÷ÇÔÇØ¾ß ÇÑ´Ù.

 

javax.activation.DataSource ÀÎÅÍÆäÀ̽º

 

ÀÓÀÇÀÇ Ãß»óÀûÀÎ µ¥ÀÌÅÍ¿¡ ´ëÇØ¼­ JAF¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ÀÎÅÍÆäÀ̽º·Î, Data TypeÀ» Á¦°øÇϰí, ÀÓÀÇÀÇ InputStream°ú OutputStreamÀ» ÀûÀýÇÏ°Ô Á¦¾îÇÒ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù.  FileDataSource Ŭ·¡½º´Â ÆÄÀÏÀ» ĸ½¶È­ Çϱâ À§ÇØ DataSource¸¦ ±¸ÇöÇÑ Å¬·¡½º°¡ µË´Ï´Ù.

 

n        public abstract interface DataSource

 

javax.activation.DataHandler Ŭ·¡½º

 

ÀÓÀÇÀÇ Ãß»óÀûÀÎ µ¥ÀÌÅÍ¿¡ ´ëÇØ¼­ JAF¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇØÁִ Ŭ·¡½º·Î¼­ Data TypeÀ» Á¦°øÇϰí, ÀÓÀÇÀÇ InpusStream°ú OutputStreamÀ» ÀûÀýÇÏ°Ô Á¦¾îÇÒ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù. FileDataSource Ŭ·¡½º´Â ÆÄÀÏÀ» ĸ½¶È­Çϱâ À§ÇØ DataSource¸¦ ±¸ÇöÇÑ Å¬·¡½º ÀÔ´Ï´Ù.

 

n        public class DataHandler extends java.lang.Object

            

DataHandler Ŭ·¡½º ÁÖ¿ä ¸Þ¼­µå

public DataSource getDataSource() : ¿¬°üµÈ DataSource°´Ã¼¸¦ ¸®ÅÏÇÑ´Ù.

public CommandInfo[] getAllCommands() : ÇØ´ç µ¥ÀÌÅÍŸÀÔÀÇ ¸ðµç ¸í·É¾î¸¦ ¸®ÅÏÇÑ´Ù

public java.lang.Object getBean(CommandInfo cmdinfo) : ÇØ´ç Á¶°ÇÀÇ ºóÀ» ¸®ÅÏÇÑ´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºJSP2ºÎ
ÀúÀÚ:ÃÖ¿µ°ü