µ¿Àû ¼ºí¸´ À̹ÌÁö ¸ÞÀÌÅ·À» ¸¶À½´ë·Î!
Dan
Becker ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ, IBM Software Group 2002³â 11¿ù
À¥ »çÀÌÆ®¸¦ ÄÚµùÇÏ°í Áö¿øÇϰųª ÀÎÅͳݿ¡ ÆäÀÌÁö¸¦ °®°í ÀÖ´Ù¸é µ¶ÀÚµéÀÇ Çʿ並
ÃæÁ·½ÃÅ°´Â À̹ÌÁö¸¦ Á¦°øÇÏ´Â °ÍÀÌ ¾ó¸¶³ª ¾î·Á¿î ÀÏÀÎÁö ¾Ë °ÍÀÌ´Ù. JavaServer Pages (JSP)
ű׸¦ ÀÌ¿ëÇÏ¿© À̹ÌÁö °ü¸®¸¦ ½ÃµµÇغ¸ÀÚ.
ÀÌ ±ÛÀº IBM
developerWorks Àú³Î¿¡ 2002³â 11¿ù À̽´ ºÎºÐ¿¡ ±âÀçµÇ¾úÀ½À» ¹àÇôµÐ´Ù.
¼¼»óÀ» Áö¹èÇ϶ó! ±×·¸Áö ¾Ê´Ù¸é, Àû¾îµµ
À̹ÌÁö¶óµµ Áö¹èÇ϶ó! »çÀÌÆ® °³¹ßÀÚ ¶Ç´Â ÆäÀÌÁö ÀÛ¼ºÀڷμ ´Ù¾çÇÑ ¼±È£¸¦ ¸¸Á·½ÃÅ°´Â
°ÍÀº ¾î·Á¿î ÀÏÀ̶ó´Â °ÍÀ» ¾È´Ù. À̸¦ ¼öÀÛ¾÷À¸·Î ¼öÇàÇϱâ À§Çؼ´Â »çÀÌÆ®ÀÇ À̹ÌÁö ÇϳªÇϳª¸¦ À¥ »çÀÌÆ®°¡
Áö¿øÇÏ´Â À̹ÌÁö »çÀÌÁî·Î º¯È¯ÇؾßÇÑ´Ù. ±×·±´ÙÀ½ »çÀÌÆ®ÀÇ °¢ ÆäÀÌÁö¿¡ À̹ÌÁö ű׸¦ Á¶Á¤ÇÏ¿© °¢°¢ÀÇ Å±װ¡
À̹ÌÁö »çÀÌÁ ÀûÀýÇÏ°Ô ¹Ý¿µÇÒ ¼ö ÀÖµµ·Ï ÇؾßÇÑ´Ù. À̹ÌÁö¸¦ º¯°æÇÏÁö ¾Ê°í¼´Â HTML
img ű×ÀÇ ³ÐÀÌ¿Í ³ôÀ̸¦ °£´ÜÈ÷ º¯°æ½Ãų ¼ö ¾ø´Ù. ÀÌ´Â Àú´ë¿ª »ç¿ëÀÚµéÀº Å«
À̹ÌÁö¸¦ ´Ù¿î·ÎµåÇÏ¿© Ŭ¶óÀ̾ðÆ® Ãø¿¡¼ ¸®»çÀÌ¡À» ÇؾßÇÑ´Ù´Â °ÍÀ» ¶æÇÑ´Ù. ÀÌ·¯ÇÑ Á¾·ùÀÇ À̹ÌÁö °ü¸®´Â ¼º°¡½Ç
»Ó ¾Æ´Ï¶ó ¿¡·¯¸¦ ¾ç»êÇس½´Ù. ±×¸®°í ´ëºÎºÐÀÇ À¥ »çÀÌÆ®°¡ ´Ù¾çÇÑ À̹ÌÁö »çÀÌÁ Á¦°øÇÏÁö ¾Ê´Â ÀÌÀ¯¸¦ ½±°Ô ¾Ë
¼ö ÀÖ´Ù.
¹®Á¦´Â ±â¼úÀÇ ¹®Á¦°¡ ¾Æ´Ï´Ù. ÀÚ¹Ù ÇÁ·Î±×·¡¹ÖÀ¸·Î À̹ÌÁö¸¦ ´Ù¾çÇÑ »çÀÌÁ Æ÷¸ËÀ¸·Î º¯È¯Çϱâ´Â ½±´Ù.
¼ºñ½º¸¸ÀÇ ¹®Á¦ ¶ÇÇÑ ¾Æ´Ï´Ù. À¥ ¼ºñ½º¸¦ »ç¿ëÇÏ¿© °¢ÀÚÀÇ ÇÊ¿ä¿¡ ¸ÂÃç ÆäÀÌÁö¸¦ Ä¿½ºÅ͸¶ÀÌ¡ÇÏ´Â °ÍÀÌ ÀϹÝÀûÀ̱â
¶§¹®ÀÌ´Ù. ¹®Á¦´Â Àü°³¿Í °ü¸®°¡ ½±µµ·Ï ±â¼ú°ú ¼ºñ½º¸¦ Á¶ÇÕÇÏ´Â ÀÏÀÌ´Ù.
ÀÌ ±ÛÀº JavaServer Pages (JSP) ű׸¦ »ç¿ëÇÏ´Â ¼Ö·ç¼ÇÀ¸·Î À̹ÌÁö¸¦ °ü¸®ÇÏ´Â ¹æ¹ýÀ»
´Ù·é´Ù. ¿¹¸¦µé¾î HTML¿¡¼ À̹ÌÁö ű׸¦ ÄÚµùÇÏ°í ´Ù¾çÇÑ ¹öÀüÀÇ À̹ÌÁö »çÀÌÁ °®Ãß´Â ´ë½Å ´ÙÀ½°ú °°ÀÌ
Çϴ°ÍÀÌ´Ù:
<img src="images/LazyDog.jpg" width="800" height="600" >
|
»ç¿ëÀÚÀÇ ¼±È£¿¡ ¸ÂÃç À̹ÌÁö¸¦ ÀÚµ¿À¸·Î »çÀÌ¡Çϴ ű׸¦ °®Ãß´Â °ÍÀÌ ÇÕ¸®ÀûÀÌ´Ù:
<util:imagesizer src="images/LazyDog.jpg"/>
|
»ç¿ëÀÚ°¡ ´Ù¾çÇÑ »çÀÌÁî Áß¿¡¼ ¼±ÅÃÇÏ°í ¼±È£µµ¿¡ µû¶ó »çÀÌÆ®»óÀÇ ¸ðµç À̹ÌÁö°¡ ¹Ù²îµµ·Ï ÇÏ´Â °ÍÀÌ
°¡´ÉÇÏ´Ù. ±×¸² 1ÀÇ »ùÇà À̹ÌÁö¸¦ º¸ÀÚ. ¶ÇÇÑ ³ÐÀÌ¿Í ³ôÀÌ ¼Ó¼ºÀ» »ðÀÔÇÏ°í ű׸¦ ¼öµ¿À¸·Î ÆíÁýÇÏ´Â ÀÏ µûÀ§´Â
ÇÏÁö ¾Ê¾Æµµ µÈ´Ù.
±×¸² 1. À̹ÌÁö ¼±ÅÃÀÌ ÀÖ´Â JSP ÆäÀÌÁö
Çѹøµµ JSP Ä¿½ºÅÒ Å±׸¦ º» ÀûÀÌ ¾ø´Ù¸é ¿¹Á¦¿¡¼ ½ÅÅýº¸¦ ¿¬±¸Çغ¸ÀÚ. JSP Ä¿½ºÅÒ Å±׸¦ HTML
ÅÂ±×¿Í ºñ±³Çغ¸ÀÚ:
- ÅÂ±× °³¹ßÀÚ°¡ ¸¸µç
imagesizer °¡ ÀÖ´Ù.
- ÀÌ Å±״ ÇÁ¸®ÇȽº
util ÀÌ Àִµ¥ ÅÂ±× ¼¼Æ®µéÀ» ÀÚ¹Ù ÇÁ·Î±×·¡¹ÖÀÇ ÆÐÅ°Áö
À̸§°ú Èí»çÇÑ ¶óÀ̺귯¸®µé·Î ±×·ìÇÎÇÑ´Ù. »õ·Î¿î ÇÁ¸®ÇȽº¸¦ ¸¸µé°Å³ª ¶óÀ̺귯¸®¿¡ ÀÖ´Â µðÆúÆ® À̸§À» »ç¿ëÇÒ
¼ö ÀÖ´Ù.
- ÀÌ Å±״ »õ·Î¿î XML ¹æ½ÄÀÇ ³¡³»´Â(ending) ű׸¦ °¡Áö°í ÀÖ´Ù: "/>".
HTML ű×ó·³, JSP ű׵µ ¸¹Àº ¼Ó¼ºÀÌ ÀÖ´Ù. ¿©±â¿¡¼´Â src°¡ Á¦½ÃµÇ¾ú´Ù. ¶ÇÇÑ ¹Ùµð°¡ ÀÖÀ¸¸ç
¹Ùµð ¾È¿¡´Â ´Ù¸¥ ű׵鵵 °¡Áú ¼ö ÀÖ´Ù. HTML img ű׸¦ ¸ð¹æÇÏ´Â °ÍÀ̱⠶§¹®¿¡
JSP À̹ÌÁö »çÀÌ¡ ÅÂ±×¿ë ¹Ùµð´Â ¾ø´Ù.
JSP ÆäÀÌÁö°¡ Ä¿½ºÅÒ image-sizer ű׸¦ »ç¿ëÇÒ ¶§, ű×ÀÇ ÀÚ¹Ù ±¸ÇöÀº À̹ÌÁö ÆÄÀÏÀ» ã¾Æ
ÀûÀýÇÑ »çÀÌÁî·Î º¯È¯ÇÏ°í ÀÌ À̹ÌÁö¸¦ µ¶ÀÚ¿¡°Ô Á¦°øÇÑ´Ù. ű״ ÆÛºí¸®½ÌÇϱâ Àü¿¡ À̹ÌÁö º¯È¯ ºÎÅÍ »çÀÌÆ®
¸Å´ÏÀú¸¦ ÀúÀåÇÑ´Ù. ¶ÇÇÑ À¥ ÆäÀÌÁö ÀÛ¼º ÀÛ¾÷À» ´Ü¼øÈÇÑ´Ù. ´ÜÁö ÇϳªÀÇ ÆäÀÌÁö°¡ ¸¹Àº À̹ÌÁö »çÀÌÁî ¼±ÅÃÀ»
ÇÚµéÇϴµ¥ ÇÊ¿äÇϱ⠶§¹®ÀÌ´Ù. ¹«¾ùº¸´Ùµµ, Áß¿äÇÑ °ÍÀº °¢ÀÚÀÇ »çÀÌÆ® À̹ÌÁö¿¡ ÀÌ·¯ÇÑ À¯¿¬¼ºÀ» Á¦°øÇÑ´Ù¸é
ÀαâÀÖ´Â »çÀÌÆ®°¡ µÉ °ÍÀÌ´Ù.
À¥
¼¹ö ÀÌÁ¦´Â, Ŭ¶óÀ̾ðÆ®(À¥ ºê¶ó¿ìÀú¸¦ ÀÌ¿ëÇÏ´Â µ¶ÀÚ)°¡ JSP ÆäÀÌÁö¸¦ Á¦°øÇÏ´Â
»çÀÌÆ®¸¦ ¹æ¹®ÇÒ ¶§ ±× ¹èÈÄ¿¡ ¾î¶²ÀÏÀÌ ¹ú¾îÁö´ÂÁö ¾Ë¾Æº¸ÀÚ. ¼¼ °³ÀÇ ÀÎÅÍ·¢¼ÇÀÌ ÀÌ·ç¾îÁø´Ù. (±×¸²
2):
±×¸² 2. À¥ Ŭ¶óÀ̾ðÆ®¿Í ¼¹ö °£ ÀÎÅÍ·¢¼Ç
ù ¹ø° °æ¿ì, ºê¶ó¿ìÀú°¡ HTML ÆÄÀÏÀ̳ª À̹ÌÁö ÆÄÀÏ °°Àº Á¤Àû ¹®¼¸¦ ¿äûÇÑ´Ù°í °¡Á¤Çغ¸ÀÚ. ¼¹ö´Â
ÆÄÀÏ °ø°£¿¡ ¸®¼Ò½º¸¦ À§Ä¡½ÃÅ°°í ºê¶ó¿ìÀú¿¡ ÆÄÀÏÀ» Á¦°øÇÑ´Ù. ¹®¼¸¦ ¿äûÇÏ°í ¿äû¿¡ ÀÀ´äÇÏ´Â °ÍÀº HTTP¿¡
Á¤ÀǵǾî Àִµ¥ ÀÌ°ÍÀº ÀÎÅÍ³Ý »ó¿¡¼ Ŭ¶óÀ̾ðÆ®-¼¹ö ÀÎÅÍ·¢¼ÇÀÇ ±âÃÊ°¡ µÈ´Ù. À¥ ¼¹ö´Â ¿äûÀ» ¿Ïº®ÇÏ°Ô
ÇÚµéÇÏ°í À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹ö³ª ¼ºí¸´ ÄÜÅ×ÀÌ³Ê¿Í ÀÎÅÍ·¢¼Ç ÇÒ ÇÊ¿ä°¡ ¾ø´Ù.
µÎ ¹ø° °æ¿ì ºê¶ó¿ìÀú°¡ ÀÚ¹Ù ¼ºí¸´À» Æ÷ÇÔÇÏ´Â À¥ ¸®¼Ò½º¸¦ ¿äûÇÑ´Ù°í °¡Á¤Çغ¸ÀÚ. ÀÚ¹Ù ¼ºí¸´Àº À¥
¼¹ö°¡ ÀÚ¹Ù ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ »ç¿ëÇÏ¿© ¼¹ö»ó¿¡¼ ŽºÅ©¸¦ ¼öÇàÇϵµ·Ï ÇÑ´Ù. ¼ºí¸´µéÀº È¿À²ÀûÀÌ¾î¼ CGI¿Í
¼¹öÃø JavaScript °°Àº ¿À·¡µÈ ±â¼úº¸´Ù ¸Þ¸ð¸®¿Í ÇÁ·Î¼¼½Ì ÆÄ¿ö¸¦ ´ú »ç¿ëÇÑ´Ù. ¼ºí¸´Àº IBM
WebSphere Application Server°ú Apache Tomcat °°Àº À¥ ¼¹ö¿¡¼ ´Ù¸¥ ±â¼úµé¿¡
ºñÇØ À̵¿¼ºÀÌ °ÇÏ°í, ´Ù¾çÇÑ Ç÷§Æû »ó¿¡¼ °°Àº ¼ºí¸´À» ±¸µ¿ÇÒ ¼ö ÀÖ´Â ¼ºí¸´ Äܵ¥À̳ʸ¦ Áö¿øÇÑ´Ù.
¸¶Áö¸·À¸·Î, ÀÚ¹Ù¾ð¾î °íÀ¯ÀÇ ¾ÈÁ¤¼ºÀ¸·Î ÀÎÇØ À߸øµÈ ¼ºí¸´ÀÌ À¥ ¼¹ö¿¡ ¿µÇâÀ» ÁÖ´Â °æ¿ìµµ µå¹°´Ù. À¥ ¼¹ö´Â
ÀûÀýÇÑ ¼ºí¸´À» ã¾Æ ÇÊ¿äÇÒ °æ¿ì ¼ºí¸´ ¼Ò½º Äڵ带 ÄÄÆÄÀÏÇÏ°í ¼ºí¸´ ÇÁ·Î¼¼½Ì °á°ú¸¦ ¿äûÀÚ¿¡°Ô ¸®ÅÏÇÑ´Ù.
ÀÚÁÖ ¿äûµÇ´Â ¼ºí¸´Àº ¼¹ö ¸Þ¸ð¸®¿¡ ij½ÌµÈ´Ù. (±×¸² 2).
¼¼ ¹ø° °æ¿ì, ºê¶ó¿ìÀú°¡ JSP ÆäÀÌÁö¸¦ Æ÷ÇÔÇÏ´Â À¥ ÆäÀÌÁö¸¦ ¿äûÇÑ´Ù´Â °ÍÀ» °¡Á¤Çغ¸ÀÚ. JSP
ÆäÀÌÁö´Â Á¤º¸¸¦ µð½ºÇ÷¹ÀÌ ÇÏ´Â ÀÛ¾÷À» ½±°Ô ÇÏ°í µ¿Àû ÄÜÅÙÆ®¸¦ Á¤Àû ÆäÀÌÁö¿Í ºÐ¸®ÇÏ´Â °ÍÀ» µ½´Â´Ù. À¥ ÆäÀÌÁö
µðÀÚÀ̳ʴ HTML ¶óÀ̺귯¸®¿¡ ÀÖ´Â ´Ù¸¥ ű×ÀÎ °Í ó·³ ÇÏ¿© JSP ű׸¦ »ç¿ëÇÑ´Ù. JSP ÇÁ·Î±×·¡¸Ó´Â
JSP ÇÁ·Î±×·¡¹Ö ½ºÆÑ¿¡ µû¶ó ű׸¦ ±¸ÇöÇÑ´Ù.
À̹ø¿¡´Â À̹ÌÁö-»çÀÌ¡ JSP ű׸¦ ±¸ÇöÇÏ°í JSP Äڵ带 ÀÛ¼ºÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº¸ÀÚ. À¥ ÄÜÅ×À̳ÊÀÇ
°üÁ¡¿¡¼ º¼ ¶§ JSP ÆäÀÌÁö´Â ÀÚ¹Ù ¼ºí¸´°ú ¹ÐÁ¢ÇÏ°Ô °ü·ÃµÇ¾î ÀÖ´Ù. ÅؽºÆ® ±â¹Ý JSP ÆäÀÌÁö´Â À¥
ÄÜÅ×À̳ʿ¡ ÀÇÇØ ÀÚ¹Ù ±¸ÇöÀ¸·Î º¯È¯µÈ´Ù. À¥ ÄÜÅ×À̳ʴ ÀÚ¹Ù ±¸ÇöÀ» ã¾Æ ÀÚ¹Ù ¼ºí¸´ °°Àº ±¸ÇöÀ» ó¸®ÇÏ°í
Äڵ带 ±¸µ¿ÇÏ¿© ÇÁ·Î¼¼½Ì °á°ú¸¦ Ŭ¶óÀ̾ðÆ®¿¡ ¸®ÅÏÇÑ´Ù. ¸¹Àº ·¹À̾î¿Í ¸®´ÙÀÌ·ºÆ®°¡ ÀÖ´Â µíÀÌ º¸ÀÌÁö¸¸ µð½ºÆÐĪÀº
ºü¸£°í »ç¿ëÀÚ¿¡°Ôµµ Åõ¸íÇÏ´Ù. ¼ºí¸´°ú ¸¶Âù°¡Áö·Î ÀÚÁÖ ¿äûµÇ´Â JSP ÆäÀÌÁö´Â ¼¹ö ¸Þ¸ð¸®¿¡ ij½ÌµÈ´Ù.
JSP Ä¿½ºÅÒ Å±×
ÀÛ¼ºÇϱâ À¥ ¼ºñ½º°¡ JSP ÆäÀÌÁö ¿äûÀ» ¾î¶»°Ô ó¸®ÇÏ´ÂÁö º¸¾Ò´Ù. ÀÌÁ¦´Â JSP
Ä¿½ºÅÒ Å±׸¦ ¾î¶»°Ô ±¸ÇöÇÏ´ÂÁö º¸ÀÚ. JSP ű״ Java Standard Template
Library(JSTL) °°Àº Ç¥ÁØ ¶óÀ̺귯¸®¿Í Àϸí Ä¿½ºÅÒ Å±׶ó°í ÇÏ´Â ½º½º·Î ÀÛ¼ºÇÑ ¶óÀ̺귯¸®¿¡µµ
ÇØ´çµÈ´Ù´Â °ÍÀ» ¸í½ÉÇ϶ó. ÀϹÝÀûÀ¸·Î Ä¿½ºÅÒ Å±״ ƯÁ¤ ¹®Á¦ µµ¸ÞÀÎÀ» ´Ù·é´Ù. ÀÌ ±Û¿¡¼´Â À̹ÌÁö¸¦ °ü¸®ÇÏ´Â
¹æ¹ýÀ» ´Ù·ç°Ú´Ù. ÇöÀç Java 2 Extended Edition (J2EE) Versions 1.2¿Í 1.3Àº
JSP Version 1.2¸¦ »ç¿ëÇÑ´Ù. ÇöÀç SunÀº JSP ½ºÆÑ 2.0 ¹öÀüÀ» ¹ßÇ¥Çß´Ù. ÀÌ »õ·Î¿î ½ºÆÑÀº
Ä¿½ºÅÒ Å±׸¦ ±¸ÇöÇÏ´Â ¹æ½Ä¿¡ ÀÖ¾î¼ Å« º¯È°¡ ¾ø´Ù.
Ç¥ÁØ°ú Ä¿½ºÅÒ ÅÂ±× ¶óÀ̺귯¸®¸¦ taglib µð·ºÆ¼ºê¸¦ ÅëÇØ JSP ÆäÀÌÁö·Î ¹ÝÀÔÇÒ ¼ö ÀÖ´Ù:
<%@ taglib uri='imagesizer.tld' prefix='util' %>
|
ÀÌ µð·ºÆ¼ºê´Â ÅÂ±× ¶óÀ̺귯¸® µð½ºÅ©¸³ÅÍ ÆÄÀÏÀÇ À§Ä¡¸¦ ¸í¸íÇÑ´Ù. ¿©±â¼´Â imagesizer.tld·Î
¸í¸íµÇ¾ú´Ù. ±×¸®°í »ç¿ëµÈ ÇÁ¸®ÇȽº´Â util·Î ¸í¸íµÇ¾ú´Ù. ÅÂ±× ¿¹Á¦¿¡¼ º¸¾ÒµíÀÌ ÇÁ¸®ÇȽº¿Í À̸§À¸·Î ű׸¦
»ç¿ëÇÒ ¼ö ÀÖ´Ù:
<util:imagesizer src="images/LazyDog.jpg"/>
|
ÅÂ±× ¶óÀ̺귯¸® µð½ºÅ©¸³ÅÍ´Â À¥ Äܵ¥À̳ʿ¡°Ô »ç¿ë°¡´ÉÇÑ Å±װ¡ ¹«¾ùÀÎÁö ±×µéÀÌ ¾î¶»°Ô ÀÛ¿ëÇÏ´ÂÁö¸¦
¼³¸íÇÑ´Ù. Listing 1Àº ±× ¿¹Á¦ÀÌ´Ù. ÀÌ ÆÄÀÏÀº XML Æ÷¸ËÀ¸·Î µÇ¾îÀÖ°í Àб⠽±´Ù. ÇÏÁö¸¸ IBM
WebSphere Studio Application Developer °°Àº ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß Ç÷§ÆûÀº Çʵ带
ä¿ì°í ÆÄÀÏÀ» °Ë»çÇÏ´Â °ÍÀ» µ½´Â´Ù. °¡Àå Áß¿äÇÑ Á¤º¸´Â ÅÂ±× ¿¤¸®¸ÕÆ®ÀÌ´Ù. ÀÌ°ÍÀº JSP Ä¿½ºÅÒ Å±×ÀÇ À̸§°ú
ű׸¦ ±¸ÇöÇÏ´Â Àڹ٠Ŭ·¡½º¸¦ Á¤ÀÇÇÑ´Ù. ¶ÇÇÑ Å±װ¡ ¹Þ¾ÆµéÀÌ´Â ¸ðµç ¼Ó¼º°ú ¹Ùµð ÄÜÅÙÆ®¸¦ º¸¿©ÁØ´Ù. Listing 1. Tag Library Descriptor (TLD) ¹ßÃé
<taglib >
<tlibversion> 1.0 </tlibversion>
<jspversion> 1.1 </jspversion>
<tag>
<name>imagesizer</name>
<tagclass>tags.ImageSizerTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>src</name>
<required>required</required>
</attribute>
<attribute>
<name>alt</name>
</attribute>
<attribute>
<name>quality</name>
</attribute>
</tag>
</taglib>
|
ÀÌ ¿¹Á¦¿¡¼ ű״ src ¼Ó¼ºÀÌ ¿ä±¸ÇÏ´Â ¼¼ °³ÀÇ ¼Ó¼ºÀ» °®°í ÀÖ´Ù.
alt ¼Ó¼ºÀº HTML img alt ¼Ó¼ºÀ» ¸ð¹æÇÑ °ÍÀÌ´Ù. ÀÌ
JSP ű׸¦ È®ÀåÇÏ¿© ´Ù¸¥ À̹ÌÁö ¼Ó¼ºÀ» Æ÷ÇÔ½ÃÄѵµ µÈ´Ù.
JSP Ä¿½ºÅÒ Å±׸¦ ÀÛ¼ºÇÏ´Â ´ÙÀ½ ´Ü°è´Â ÅÂ±× ¿ë ÀÚ¹Ù Äڵ带 ±¸ÇöÇÏ´Â °ÍÀÌ´Ù. ÀÌ ±Û¿¡¼
imagesizer ű״ tags.ImageSizerTag ÀÚ¹Ù
Ŭ·¡½º¿¡¼ ±¸ÇöµÈ´Ù. J2EE Ä¿½ºÅÒ ÅÂ±× Áö¿ø ´ëºÎºÐÀº
javax.servlet.jsp.tagext ÆÐÅ°Áö¿¡ À§Ä¡ÇØÀÖ´Ù.
imagesizer Ŭ·¡½º´Â Ç¥ÁØ TagSupport ¸¦ È®ÀåÇÑ´Ù.
ÀÌ°ÍÀº ¹Ùµð ¾øÀÌ Å±׸¦ ±¸ÇöÇÑ´Ù. ÀÌ°ÍÀÇ ÀÚ¼Õ Å¬·¡½º´Â BodyTagSupport Àε¥
ÀÌ°ÍÀº ¹Ùµð°¡ Àִ ű׸¦ ±¸ÇöÇÑ´Ù. µÎ Ŭ·¡½º ¸ðµÎ Tag ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÑ´Ù.
doStartTag °ú doEndTag ¸Þ¼Òµå´Â űװ¡ óÀ½
ÀÐÇôÁö°í űװ¡ À¥ ÄÁÅ×À̳ʿ¡ ÀÇÇØ ¿ÏÀüÈ÷ ÀÐÇôÁø ÈÄ¿¡ È£ÃâµÈ´Ù. ImageSizer
ű״ doEndTag ¸¸ ±¸ÇöÇÑ´Ù.
TagSupport Ŭ·¡½º¿¡¼ PageContext Ŭ·¡½º´Â
JSP ÆäÀÌÁö¿Í °ü·ÃµÈ Áß¿äÇÑ Á¤º¸¿¡ ¾×¼¼½º Çϵµ·Ï ÇÑ´Ù. ¿¹¸¦µé¾î,
PageContext ´Â HttpRequest ¿Í
HttpResponse °´Ã¼¿¡ ¾×¼¼½º¸¦ °¡´ÉÇÏ°Ô ÇÑ´Ù. ÀÌ·¯ÇÑ °´Ã¼µéÀº °ªÀ» Àаí ÀÀ´äÀ»
ÀÛ¼ºÇϴµ¥ ÇʼöÀûÀÌ´Ù. ¿äûÀº, »ç¿ëÀÚ ¼±ÅÃÀ» Æ®·¡Å·ÇÏ°í ÆäÀÌÁö¿¡¼ ÆäÀÌÁö·Î °ªÀ» ¼öÇàÇÒ °æ¿ì
HttpSession ·Î ¾×¼¼½º¸¦ Çã¿ëÇÑ´Ù. PageContext ´Â
ServletContext ·Î ¾×¼¼½º¸¦ Çã¿ëÇϴµ¥ ÀÌ°ÍÀº ¼ºí¸´ °æ·Î, À̸§, ±âŸÁ¤º¸¸¦
À§Ä¡½ÃÅ°´Âµ¥ µµ¿òÀÌ µÈ´Ù. ImageSizer ÄÚµå(Listing 2)¿¡¼,
PageContext °´Ã¼¿¡ ´ëÇÑ ·¹ÆÛ·±½º¿Í Á¤º¸°¡ ÀÖ´Ù. ±×¸² 3Àº À̵é Ŭ·¡½ºµéÀÇ
°ü°èÀÌ´Ù. ´Ù¸¥ Ç¥ÁØ Å¬·¡½º ´ÙÀ̾î±×·¥ ó·³ ½Ç¼±À¸·Î µÈ ¹Ú½º´Â Ŭ·¡½º¸¦ ³ªÅ¸³»°í Á¡¼± ¹Ú½º´Â ÀÎÅÍÆäÀ̽º¸¦
³ªÅ¸³½´Ù. »ó¼ÓÀº ÆÄ»ýµÈ Ŭ·¡½º³ª ÀÎÅÍÆäÀ̽ººÎÅÍ ºÎ¸ð±îÁö ¼±À¸·Î À̾îÁ®ÀÖ´Ù. Listing 2. ImageSizerTag doEndTag ±¸Çö
// Implement the tag once the complete tag has been read.
public int doEndTag() throws JspException {
// Move request data to session.
int outputSize = 0;
String sizeVal = request.getParameter( REQUESTSIZEKEY );
if ( sizeVal != null ) {
session.setAttribute( REQUESTSIZEKEY, sizeVal );
sizeVal = (String) session.getAttribute( REQUESTSIZEKEY );
if ( sizeVal != null ) {
outputSize = Integer.parseInt( sizeVal );
}
}
// Get specified image locally.
String contextPath = getContextPath( request );
Image image = Toolkit.getDefaultToolkit().getImage(contextPath + src );
ImageSizer.waitForImage( image );
int imageWidth = image.getWidth( null );
int imageHeight = image.getHeight( null );
if (( imageWidth > 0 ) && ( imageHeight > 0 )) {
if (( outputSize > 0 ) && ( outputSize != imageWidth )) {
// Convert image to new size.
Image outputImage = ImageSizer.setSize( image, outputSize, -1 );
ImageSizer.waitForImage( outputImage );
int outputWidth = outputImage.getWidth( null );
int outputHeight = outputImage.getHeight( null );
if ( outputWidth > 0 && outputHeight > 0 ) {
// Change image file name to xxxx.size.jpg
String originalSrc = src;
int lastDot = src.lastIndexOf( '.' );
if ( lastDot > -1 ) {
src = src.substring( 0, lastDot + 1 );
}
setSrc( src + outputSize + ".jpg" );
// Write new size image to JPEG file.
File file = new File( contextPath + src );
if ( !file.exists() ) {
out.println( "" );
FileOutputStream fos = new FileOutputStream( contextPath + src );
ImageSizer.encodeJPEG( fos, outputImage, quality );
fos.close( ) ;
}
imageWidth = outputWidth;
imageHeight = outputHeight;
}
} // if outputSize
} // if image found
// Produce output tag.
out.print( "<img src=\"" + src + "\"" );
// Add alt text, if any
if ((alt != null ) && ( alt.length() > 0 )) {
out.print( " alt=\"" + alt + "\"" );
}
// Add proper width, height.
out.print( " width=\"" + imageWidth + "\" height=\"" +
imageHeight + "\"" );
out.println( ">" );
return EVAL_PAGE;
} // doEndTag
|
±×¸² 3. javax.servlet.jsp.tagext
Ŭ·¡½º
ImageSizerTag Ŭ·¡½ºÀÇ doEndTag ¸Þ¼Òµå´Â
Listing 2¿¡ ³ª¿ÍÀÖ´Ù. ÀÌ°ÍÀº JSP Ä¿½ºÅÒ Å±׸¦ ±¸ÇöÇϴµ¥ ÇÊ¿äÇÑ °ÅÀÇ ¸ðµç ÀÚ¹Ù ÄÚµå¶ó°í º¼ ¼ö
ÀÖ´Ù. Å« ºí·ÏÀÌÁö¸¸ ¸Þ¼Òµå¸¦ ¿Ïº®ÇÏ°Ô º¸´Âµ¥ µµ¿òÀÌ µÈ´Ù. ¿ì¼± ¸ðµç HTTP ¿äû ¸Å°³º¯¼ö´Â HTTP ¼¼¼Ç¿¡
ÀúÀåµÈ´Ù. ÀÌ°ÍÀº À̹ÌÁö »çÀÌÁî¿¡ ´ëÇÑ »ç¿ëÀÚ ¼±Åà °°Àº ¼Ó¼ºÀ» °¡Á®´Ù°¡ ¼¼¼Ç¿¡ ÀúÀåÇÏ¿© ÆäÀÌÁö¿¡ µû¶ó »ç¿ëÀÚ°¡
À̸¦ µû¸£µµ·Ï ÇÑ´Ù. ÀÌ Å±×ÀÇ ±â´ÉÀ» È®ÀåÇϱâ À§Çؼ ÀÌ°ÍÀ» È®ÀåÇÏ¿© ÄíÅ°¿¡ ¼±ÅÃÀ» ÀúÀåÇÏ¿© »ç¿ëÀÚ°¡ ´ÙÀ½¿¡
ÀÌ »çÀÌÆ®¸¦ ¹æ¹®ÇÒ ¶§ ¼±ÅÃÀ» »ç¿ëÇϵµ·Ï ÇÒ ¼ö ÀÖ´Ù.
´ÙÀ½ ´Ü°è´Â µðÆúÆ® À̹ÌÁö¸¦ ·ÎµùÇÏ´Â °ÍÀÌ´Ù. java.awt.ToolkitÀº À̹ÌÁö¸¦ ¿äûÇϴµ¥ ÀÌ°ÍÀº
ImageSizer.waitForImage¿Í ÇÔ²² ·ÎµåµÇ°í ÀûÀýÇÑ »çÀÌ¡ÀÌ °ËÅäµÈ´Ù. ·ÎµùÀ» À§ÇØ ÀϽÃÁ¤Áö°¡
ÇÊ¿äÇÏ´Ù. ¿Ö³ÄÇϸé ÀÚ¹Ù À̹ÌÁö´Â ºñµ¿±â½ÄÀ¸·Î ·ÎµùµÇ°í ¿äûÇÒ ¶§¸¶´Ù Ç×»ó »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÌ ¾Æ´Ï±â
¶§¹®ÀÌ´Ù. ImageSizer º¸Á¶ Ŭ·¡½º´Â ÀÌ ¿¹Á¦¿¡¼ Àüü À̹ÌÁö ÇÁ·Î¼¼½ÌÀ» ¼öÇàÇÏ°í
´ÙÀ½ ¼½¼Ç¿¡¼´Â ´õ ÀÚ¼¼ÇÏ°Ô ´Ù·ç°Ú´Ù. ³ÐÀÌ¿Í ³ôÀÌ°¡ ¸ÂÀ¸¸é À̹ÌÁö´Â ¸®»çÀÌ¡ÀÌ ÇÊ¿ä¾ø´Ù. HTML À̹ÌÁö
ű״ À̹ÌÁö À̸§°ú ÇöÀç »çÀÌÁ »ç¿ëÇÏ¿© ÀÛ¼ºµÈ´Ù. ÀÌ°ÍÀº HTML À̹ÌÁö ű׸¦ ¸ð¹æÇϱâÀ§ÇØ ÇÊ¿äÇÑ JSP
±¸ÇöÀÇ ¸ðµç°ÍÀÌ´Ù.
ImageSizer º¸Á¶ Ŭ·¡½º´Â »ç¿ëÀÚ°¡ »õ·Î¿î À̹ÌÁö »çÀÌÁ ¿äûÇϸé À̹ÌÁö¸¦
¸®»çÀÌ¡ÇÑ´Ù. À̹ÌÁö ÆÄÀÏÀº ÆÄÀÏ Å©±â¿¡ µû¶ó »õ·Î¿î À̸§ÀÌ µÈ´Ù. ÀÌ ÆÄÀÏÀº JPEG ÀÎÄÚµùÀÌ°í ÆÄÀÏ ½Ã½ºÅÛ¿¡
ÀÛ¼ºµÈ´Ù. °á°úÀûÀ¸·Î »õ·Ó°Ô ¸®»çÀÌ¡µÈ ÆÄÀÏÀº HTML À̹ÌÁö ÅÂ±× ¾Æ¿ôDz¿¡ »ç¿ëµÈ´Ù. ÀÌ Å±×ÀÇ ´ë¾È ±¸ÇöÀº
ÆÄÀÏÀ» GIF³ª PNG Æ÷¸ËÀ¸·Î ÀúÀåÇϰųª µð½ºÅ© °ø°£À» ÀúÀåÇϱâÀ§ÇØ ¸Þ¸ð¸®¿¡¼ À̹ÌÁö¸¦ Á¦°øÇÏ´Â °ÍÀÌ´Ù.
Listing 2´Â ¸®»çÀÌ¡µÈ ÆÄÀÏÀ» ¾ÕÀ¸·Î »ç¿ëÇÒ °æ¿ì¿¡ ´ëºñÇÏ¿© µð½ºÅ©¿¡ ij½ÌÇÑ´Ù. µû¶ó¼ óÀ½ÀÇ ¸®»çÀÌ¡Àº
¾à°£ÀÇ ¼¹ö ÇÁ·Î¼¼½Ì ½Ã°£ÀÌ ÇÊ¿äÇÏÁö¸¸ ¿¬¼ÓÀûÀÎ À̹ÌÁö »çÀÌÁî ¿äûÀº ÇÁ·Î¼¼½ÌÀÌ ÀüÇô ÇÊ¿äÇÏÁö ¾Ê´Ù. »ç¿ë°¡´ÉÇÑ
µð½ºÅ© °ø°£À» üũÇÏ¿© Á¦ÇÑµÈ ÆÄÀÏ °ø°£°ú Ŭ¶óÀ̾ðÆ®¿¡°Ô Á¦°øÇÏ´Â Á¤º¸ÀÇ ±ä±Þ¼º °£¿¡ ±ÕÇüÀ» ¸ÂÃßµµ·Ï ÇÒ ¼ö
ÀÖ´Ù.
À̹ÌÁö
»çÀÌ¡ Áö±Ý±îÁö JSP ű׸¦ ÀÛ¼ºÇÏ´Â ´Ü°è¸¦ °ËÅäÇß´Ù.
ImageSizerTag Ŭ·¡½º´Â À̹ÌÁö¸¦ ÀÚµ¿À¸·Î ¸®»çÀÌ¡ÇÏ¿© »ç¿ëÀÚ ¼±Åÿ¡ ¸ÂÃá´Ù.
À̹ø¿¡´Â ImageSizer Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© JPEG ÆÄÀϷμ À̹ÌÁö¸¦ ¸®»çÀÌ¡ÇÏ°í
ÀúÀåÇÏ´Â ±¸Ã¼ÀûÀÎ ¹æ¹ýÀ» ¼³¸íÇÏ°Ú´Ù. ÀÚ¹Ù ÄÚµå·Î À̹ÌÁö¸¦ ¸®»çÀÌ¡ ÇÒ ¶§
java.awt.Image Ŭ·¡½ºÀÇ
getScaledInstance ¸Þ¼Òµå¸¦ »ç¿ëÇÒ ¶§ ½¬¿öÁø´Ù. ÀÌ ¸Þ¼Òµå¸¦ »õ·Î¿î ³ÐÀÌ¿Í
³ôÀÌ·Î Çϰųª ÇüÅ ºñÀ²À» º¸Á¸ÇϱâÀ§ÇØ -1¿¡¼ 1±îÁöÀÇ ¸Å°³º¯¼ö °ªÀ» Á¦°øÇÑ´Ù. ±×¸®°í ³ª¼ »õ·Ó°Ô ¸®»çÀÌ¡µÈ
À̹ÌÁö¸¦ ¾ò´Â´Ù. ÇÏÁö¸¸ ¸ðµç ÀÚ¹Ù À̹ÌÁö´Â Áï½Ã »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù. µû¶ó¼
java.awt.MediaTracker ¸¦ »ç¿ëÇÏ¿© À̹ÌÁö°¡ ¿ÏÀüÈ÷ ·ÎµùµÉ ¶§±îÁö
±â´Ù·Á¾ßÇÑ´Ù. ImageSizer ÀÇ waitForImage
¸Þ¼Òµå´Â ÀÌ Äڵ带 ĸ½¶ÈÇÑ´Ù.
ÀÌ ¿¹Á¦¿¡¼ °¡Àå ¾î·Á¿î µðÀÚÀÎ Æ÷ÀÎÆ®´Â À̹ÌÁö ÀúÀå ¹æ¹ýÀ» °áÁ¤ÇÏ´Â ÀÏÀÌ´Ù. ÀÚ¹Ù ÇÁ·Î±×·¡¹Ö¿¡´Â À̹ÌÁö
ÀÎÄÚµù°ú ÀúÀå¿¡ ¸¹Àº ¼±ÅñÇÀÌ ÀÖ¾î ºñ±³¸¦ ÇؾßÇÑ´Ù.
- com.sun.image.codec. ÀÌ ÆÐÅ°Áö´Â Java 2 SDK 1.2¿Í 1.3
±¸Çö¿¡ »ç¿ëÇÒ ¼ö ÀÖÁö¸¸ °³ÀÎ ÆÐÅ°Áö¾î¼ Java 2 ¹öÀü±îÁö ±â´Ù·Á¾ßÇÑ´Ù. ÀÌ ÆÐÅ°Áö´Â JPEG ÀÎÄÚµù¿¡
Á¦ÇÑÀÌ ÀÖ´Ù.
- Java Image I/O API. ÀÌ ÆÐÅ°Áö´Â Java 2 SDK 1.4ÀÇ Ç¥ÁØÀÌ´Ù.
ÇÏÁö¸¸ ÀÛ¼º ´ç½Ã ¾î¶² J2EE ¹öÀüµµ SDK 1.4¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù. ÀÌ ÆÐÅ°Áö´Â ¶Ù¾î³ À̹ÌÁö Á¶ÀÛ
±â´É°ú ÀÎÄÚµù ¿É¼ÇÀ» °®Ãß°í ÀÖ´Ù.
- Java Advanced Imaging API. ÀÌ API´Â Ç¥ÁØ È®ÀåÀÌÁö¸¸ ÀÌ°ÍÀ»
»ç¿ëÇÏ·Á¸é À¥ ¸¶½ºÅÍ°¡ Áö¿øÇÏÁöµµ ¾Ê´Â ÆÐÅ°Áö¸¦ ¼³Ä¡ÇؾßÇÑ´Ù.
- ACME GIF Encoder. ÀÌ ÆÐÅ°Áö´Â À¯¿ëÇÏ¸ç ¿¹Á¦ ÄÚµå¿Í °áÇÕÇÒ ¼ö ÀÖ´Ù.
ÇÏÁö¸¸ ºñ¿ë°ú À¯Áö ¹®Á¦°¡ ³²¾ÆÀÖ´Ù. ´Ù¸¥ ¿É¼Çµé°ú´Â ´Ù¸£°Ô ÀÌ ¼ÒÇÁÆ®¿þ¾î´Â À¯·áÀ̸ç GIF Ç¥ÁØÀ» ¿ÏÀüÈ÷
Áö¿øÇÏÁö ¾Ê´Â´Ù.
Listing 3ÀÇ °æ¿ì com.sun.image.codec ÆÐÅ°Áö¸¦ »ç¿ëÇߴµ¥ IBM WebSphere¿Í
Apache Tomcat °°Àº J2EE 1.2 ¿Í 1.3 À¥ ¼¹ö ÄÜÅ×À̳ʿ¡¼ »ç¿ëÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù.
ÀÎÄÚ´õ´Â ´Ü¼øÇϸç 100% ¼ø¼öÇÑ ÀÚ¹Ù ÄÚµåÀÌÁö¸¸ com.sun ÆÐÅ°Áö¿¡ ÀÖ´Ù. Àå±âÀûÀÎ ½Ã°¢À¸·Î º¼ ¶§
Java Image I/O ÆÐÅ°Áö´Â º¸¿ÏÇØ¾ß ÇÒ »çÇ×ÀÌ ¸¹ÀÌÀÖ´Ù. À̹ÌÁö º¯Çü ±â´É°ú ¸¹Àº ÆÄÀÏ Æ÷¸ËÀ» ÀúÀåÇÏ´Â
±â´ÉÀÌ ÈǸ¢ÇÏ´Ù. Java Image I/O ÆÐÅ°Áö´Â Java 2 version 1.4 ÀÌÀü±îÁö´Â Ç¥ÁØÀÌ
¾Æ´Ï´Ù.
¾î¶² À̹Ì¡ ÆÐÅ°Áö¸¦ »ç¿ëÇÒ °ÍÀΰ¡¿¡ ´ëÇØ °áÁ¤ÀÌ ³¡³µ´Ù¸é JPEG ÆÄÀÏÀ» ÀúÀåÇÏ´Â ÄÚµå´Â °£´ÜÇÏ´Ù.
ImageSizer ÀÇ encodeJPEG ¸Þ¼Òµå´Â ´ÙÀ½ ÀýÂ÷¸¦
ĸ½¶ÈÇÑ´Ù:
java.awt.image.BufferedImage °´Ã¼-ÀÚ¹Ù
Image ÀÚ¼Õ-´Â ¸®»çÀÌ¡µÈ ¾Æ¿ôDz À̹ÌÁö¿¡¼ ¸¸µé¾îÁø´Ù. ÁÖ¼®Àº ·Î°í,
watermark, ŸÀÓ½ºÅÆÇÁ, À̹ÌÁö ÀúÀÛ±Ç Á¤º¸¸¦ Ãß°¡ÇÒ ¶§ Äڵ忡 ÁÖ¼®ÀÌ ´Þ¸°´Ù.
Image ¿¡¼ BufferedImage ·Î º¯È¯ÇÑ ÈÄ¿¡,
¾Æ¿ôDz ½ºÆ®¸²¿¡ JPEGImageEncoder °´Ã¼¸¦ ¸¸µé¾î¶ó. ¾Æ¿ôDz ÀÎÄÚµù Æò°¡´Â
0.0 (ÃÖ¾Ç)ºÎÅÍ 1.0 (ÃÖ°í) ±îÁö ÀÌ´Ù. 0.75´Â µðÆúÆ®ÀÌÁö¸¸ 0.95´Â Á»´õ ÀÚ¼¼ÇÑ À̹ÌÁö¿Í ÇÔ²²
Å« ÆÄÀÏ »çÀÌÁî·Î ¸¸µé¾îÁø´Ù.
- À̹ÌÁö´Â ¾Æ¿ôDz ½ºÆ®¸²À¸·Î ÀÎÄÚµùµÇ°í ½ºÆ®¸²Àº ¸ðµç Á¤º¸°¡ À̹ÌÁö ÆÄÀÏ¿¡ ³ªÅ¸³ªµµ·Ï Ç÷¯½¬µÈ´Ù.
Listing 3. ImageSizer encodeJPEG
±¸Çö
// Encodes the given image at the given
// quality to the output stream.
public static void encodeJPEG
( OutputStream outputStream,
Image outputImage, float outputQuality )
throws java.io.IOException {
// Get a buffered image from the image.
BufferedImage bi = new BufferedImage
( outputWidth, outputHeight,
BufferedImage.TYPE_INT_RGB );
Graphics2D biContext =
bi.createGraphics( );
biContext.drawImage
( outputImage, 0, 0, null );
// Additional drawing code, such as
// watermarks or logos can be placed here.
// com.sun.image.codec.jpeg package
// is included in Sun and IBM sdk 1.3.
JPEGImageEncoder encoder =
JPEGCodec.createJPEGEncoder
( outputStream );
// The default quality is 0.75.
JPEGEncodeParam jep =
JPEGCodec.getDefaultJPEGEncodeParam
( bi );
jep.setQuality( outputQuality, true );
encoder.encode( bi, jep );
outputStream.flush();
} // encodeImage
|
¿©±â±îÁö´Â À̹ÌÁö¸¦ ¸®»çÀÌ¡ÇÏ°í ÀúÀåÇϴµ¥ ÇÊ¿äÇÑ ¸ðµç ´Ü°èÀÌ´Ù.
WebSphere¶Ç´Â Tomcat¿¡¼ ÆÐŰ¡
¹× Àü°³ À̹ø¿¡´Â Application Server version 4.0À̳ª
Apache Tomcat version 4.0¿¡¼ ImageSizer JSP ű×ÀÇ
ÆÐÅ°Áö ¹× Àü°³ ¹æ¹ýÀ» ¼³¸íÇÏ°Ú´Ù. ±×¸² 4´Â Application Developer ÀÌ´Ù. ¿ÞÂÊ Ä®·³ÀÇ »ó´Ü¿¡
ÀÖ´Â Navigator´Â À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ µð·ºÅ丮 ±¸Á¶¸¦ ³ªÅ¸³»°í JSP űװ¡ J2EE ½ºÆÑ¿¡ µû¶ó ¾î¶»°Ô
ÆÐÅ°ÁöµÇ¾î¾ß ÇÏ´ÂÁö¸¦ º¸¿©ÁØ´Ù. J2EE ½ºÆÑ¿¡ ÇÊ¿äÇϱ⠶§¹®ÀÌ ÀÌ µð·ºÅ丮 ±¸Á¶´Â ¸ðµç À¥ ¾ÖÇø®ÄÉÀ̼ǿ¡
ÀϹÝÀûÀÌ´Ù. ÀÏ´Ü ±¸Á¶°¡ ÀúÀåµÇ¸é Web Archive (WAR) ÆÄÀÏÀÌ µÇ°í WebSphere, Tomcat,
±âŸ À¥ ÄÜÅ×À̳ʿ¡ ½±°Ô Àü¼ÛµÈ´Ù. Application Developer °°Àº ÁÁÀº °³¹ß ȯ°æÀº ´ÙÀ½ÀÇ ½ºÆÑÀ»
µû¸£°í ÈǸ¢ÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé¾î³½´Ù.
±×¸² 4. WebSphere Studio Application
Developer¿¡¼ ImageSizer ÆÐŰ¡
ImageSizer ÇÁ·ÎÁ§Æ®¿¡´Â ¼Ò½º ÄÚµå¿ë µð·ºÅ丮°¡ ÀÖ´Ù. ÃÖÁ¾ WAR ÆÄÀÏ¿¡
ÀÌ µð·ºÅ丮¸¦ Ãß°¡ÇÒ °ÍÀÎÁöÀÇ ¿©ºÎ´Â °³¹ßÀÚ°¡ ¼±ÅÃÇϱ⠳ª¸§ÀÌ´Ù. webApplication µð·ºÅ丮¿¡´Â ½ÇÁ¦
ÇÁ·Î±×·¥ Äڵ尡 Æ÷ÇԵǾî ÀÖ´Ù. ¿¹Á¦ ÇÁ·ÎÁ§Æ®¿¡´Â PickASize.jspÀ̶ó°í ÇÏ´Â Å×½ºÆ® JSP ÆäÀÌÁö¿Í
LazyDog.jpg À̶ó°í ÇÏ´Â Å×½ºÆ® À̹ÌÁö°¡ Æ÷ÇԵǾî ÀÖ´Ù. ÀϹÝÀûÀ¸·Î À̵éÀº
ImageSizer Ä¿½ºÅÒ Å±×ÀÇ ¶óÀ̺귯¸® ¹öÀü¿¡ Æ÷ÇÔµÇÁö ¾Ê´Â´Ù. ÀÌ Å±×ÀÇ ±¸ÇöÀº
WEB-INF µð·ºÅ丮¿¡ ÀÖ´Ù. Àڹ٠Ŭ·¡½º´Â WEB-INF/classes¿¡ ÀÖ°í Tag Library
Descriptor ÆÄÀÏÀº WEB-INF/tlds¿¡ ÀÖ´Ù. À̵éÀº ¸ðµç À¥ ¾ÖÇø®ÄÉÀ̼ǿ¡ Àû¿ëµÇ´Â Ç¥ÁØ µð·ºÅ丮
À§Ä¡ÀÌ´Ù. ÀÌ Æ®¸®¿¡ ÀÖ´Â ´Ù¸¥ ÆÄÀϵéÀº ¼¹ö ¿É¼Ç ¼³Á¤¿¡ µµ¿òÀ» ÁÖÁö¸¸ ±×·¸Áö ¾Ê´õ¶óµµ WAR ÆÄÀÏ¿¡ ÇʼöÀûÀÎ
°ÍÀº ¾Æ´Ï´Ù. Application Developer³ª Java SDK¸¦ »ç¿ëÇÏ¿© ÀÌ ¾ÖÇø®ÄÉÀÌ¼Ç ¿ë WAR
ÆÄÀÏÀ» ¸¸µé¾îº¸¶ó.
To m c a t ¿¡ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¼³Ä¡ÇÏ·Á¸é ROOT/webapps µð·ºÅ丮¿¡ ÆÄÀÏÀ» ³õ°í ¼¹ö°¡
WAR ÆÄÀÏÀ» µð·ºÅ丮 ±¸Á¶·Î È®ÀåÇϵµ·Ï ÇؾßÇÑ´Ù. Application ServerÀÇ °æ¿ì,
Administrators ConsoleÀÇ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¸¶¹ý»ç(Web Application wizard)¸¦
»ç¿ëÇÏ¿© ¾ÖÇø®ÄÉÀ̼ÇÀ» ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. Àü°³ÇÑ ÈÄ¿¡,
http://yourhostname:port/ImageSizer/PickASize.jsp¸¦ ¹æ¹®ÇÏ¿© JSP
ÆäÀÌÁö¸¦ ±¸µ¿Çغ¸¶ó.
°á·Ð Áö±Ý±îÁö À̹ÌÁö
»çÀÌ¡À» ÀÚµ¿À¸·Î °ü¸®ÇÏ´Â JSP Ä¿½ºÅÒ Å±׸¦ ¸¸µé¾ú´Ù. Ä¿½ºÅÒ Å±״ À̹ÌÁö ¸®»çÀÌ¡ ÀÛ¾÷¿¡ µµ¿òÀÌ µÇ°í À¥
»çÀÌÆ®¸¦ ¹æ¹®ÇÏ´Â »ç¿ëÀÚµéÀÌ ¼±ÅÃÀ» ÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. ¿¹Á¦ ű׸¦ È®ÀåÇÏ¿© ¸ðµç Á¾·ùÀÇ À̹ÌÁö Á¶ÀÛÀ» ÇÒ ¼ö
ÀÖ´Ù. ÀúÀÛ±Ç ÅؽºÆ®, ŸÀÓ½ºÅÆÇÁ, ·Î°í, ¿öÅÍ ¸¶Å© µîÀÌ ±×°ÍÀÌ´Ù. Application Server³ª
Apache Tomcat¿¡ À̸¦ Àü°³ÇÏ°í À̹ÌÁö ±â¹Ý JSP ÆäÀÌÁö¸¦ ÀÛ¼ºÇϰųª ¿¹Á¦¸¦ »ç¿ëÇÏ¿© Äڵ带 ½ÇÇèÇÒ
¼ö ÀÖ´Ù. ÀÌ ±ÛÀÌ JSP ű׿¡ ´ëÇØ ½ÇÁúÀûÀÎ ÆÁÀ» ÁÖ¾ú±â¸¦ ¹Ù¶ó¸ç °¢ÀÚÀÇ ÇÊ¿ä¿¡ ¸ÂÃç ±â´ÉÀ» È®ÀåÇغ¸±â¸¦
¹Ù¶õ´Ù.
Âü°íÀÚ·á
|