·Î±×ÀÎ | ȸ¿ø°¡ÀÔ (´º½º·¹ÅͽÅû) | SITEMAP
   
  °³¹ß   Ç÷§Æû   ½Ã½ºÅÛ   ¸Å´ÏÁö¸ÕÆ®   Àüü±â»ç  
ÀÚ¹Ù
´å³Ý
C/C++
DB
¸ðµ¨¸µ
À¥°³¹ß
±âŸ
À¯´Ð½º/¸®´ª½º
À©µµ¿ì
±âŸ
¼­¹ö
³×Æ®¿öÅ©
º¸¾È
±âŸ
BM
PM
±âŸ
 
±â»çÀúÀå
0
 
¸¶ÀÌ ½ºÅ©·¦
[¼¼·ÃµÈ ÀÚ¹Ù À¥ ÇÁ·Î±×·¡¸Ó µÇ±â] ¨ç ±âº»±â °¥°í´Û±â

¹Ú¿µ·Ï (NHN)   2005/04/04
¿¬Àç¼ø¼­
1ȸ. ÀÚ¹Ù À¥ ÇÁ·Î±×·¡¸ÓÀÇ ±âº»
2ȸ. À¥ ÇÁ·ÎÁ§Æ® °³¹ß ȯ°æ °®Ãß±â
3ȸ. ÆÐÅÏ, ÇÁ·¹ÀÓ¿öÅ©, XP
[Áöµð³ÝÄÚ¸®¾Æ]ÇÁ·Î±×·¡¹Ö Ãʺ¸ÀÚ°¡ ´ÉÈ÷ ÇÑ »ç¶÷ ¸òÀ» ÇÒ Á¤µµ, ȤÀº È¥ÀÚ ÄÚµùÇϵµ·Ï ³»¹ö·ÁµÖµµ ´Ù¸¥ »ç¶÷µéÀÌ ºÒ¾È¿¡ ¶³Áö ¾ÊÀ» ¸¸Å­ ¼ºÀåÇÏ´Â °¡Àå ºü¸¥ ¹æ¹ýÀº ¹«¾ùÀϱî¿ä? µðÀÚÀÎ ÆÐÅÏÀ» °øºÎÇϰí Ãֽбâ¼úÀ» ÀÍÈ÷°í ½ÇÀü ÇÁ·Î±×·¡¹ÖÀ» ¸¹ÀÌ ÇØº¸´Â °Í?

¹°·Ð Áß¿äÇÕ´Ï´Ù. ±×·¯³ª À̺¸´Ù ÈξÀ ´õ Áß¿äÇÑ °ÍÀº ±âÃʸ¦ ´ÙÁö´Â °ÍÀÔ´Ï´Ù. ½½·¥µ¢Å©¿¡¼­ °­¹éÈ£´Â ³ó±¸ºÎ ÀÔ´Ü ÈÄ 2ÁÖÀÏ °£ µå¸®ºí ¿¬½À¸¸ Çß°í À̰ÍÀÌ ±×°¡ ºü¸¥ ½Ã°£ ¾È¿¡ ÇÑ »ç¶÷ ¸òÀ» ÇØ³»´Â µ¥ ¹Ø°Å¸§ÀÌ µÆÁö¿ä. º¹ÀâÇÑ ÀÌ·Ð, ¾î·Á¿î ½Å±â¼úÀº Àá½Ã Á¢¾îµÎ°í ÇÁ·Î±×·¡¸Ó·Î¼­ÀÇ ±âº»À» ÀçÁ¡°ËÇØº¸°Ú½À´Ï´Ù.

4³â Àü Çб³¿¡¼­ ¾î´À º¥Ã³ °æ¿µÀÎÀÇ °­¿¬À» µéÀº ÀûÀÌ ÀÖ½À´Ï´Ù. ¹Ì±¹¿¡¼­ º¥Ã³¸¦ ½ÃÀÛÇØ ¾î´À Á¤µµ ¼º°øÀ» °ÅµÐ ±â¾÷°¡¿´´Âµ¥, ±×´Â °­¿¬ ³»³» ±âº»À» °­Á¶Çß½À´Ï´Ù. ¹Ì±¹°ú Çѱ¹ÀÇ ±â¾÷ ¹®È­ÀÇ Â÷À̸¦ ºñ±³Çϸ鼭 ¹Ì±¹ÀÇ º¥Ã³µéÀº ´ëü·Î °æ¿µÀÎÀ¸·Î¼­ÀÇ ±âº»ÀûÀ¸·Î ÁöÄÑ¾ß ÇÒ °ÍµéÀ» Àß ÁöŰ´Â ¹Ý¸é Çѱ¹ÀÇ º¥Ã³´Â ±âº»ÀûÀÎ °ÍµéÀ» Á¦´ë·Î ÁöŰÁö ¸øÇÏ°í ±×·Î ÀÎÇØ ½ÇÆÐÇÏ´Â °æ¿ì°¡ ¸¹´Ù°í ÇÏ´õ±º¿ä.

±×´Â ¸ðµç °ÍÀ» ±âº»À̶õ ¸» Çϳª·Î ¼³¸íÇß½À´Ï´Ù. ±âº»ÀÌ ¹°·Ð ¼º°øÀÇ ÃæºÐÁ¶°ÇÀº ¾Æ´Õ´Ï´Ù. ±×·¯³ª ±âº»À» ÁöŰÁö ¾Ê°í´Â ¼º°øÇÒ ¼ö ¾ø½À´Ï´Ù. ¾î¶² ºÐ¾ßµç À̰ÍÀº ¿¹¿Ü°¡ ¾øÀ» °ÍÀÔ´Ï´Ù.

±×·¸´Ù¸é ÇÁ·Î±×·¡¸Ó, ±× Áß¿¡¼­µµ ÀÚ¹Ù À¥ ÇÁ·Î±×·¡¸ÓÀÇ ±âº»Àº ¹«¾ùÀϱî¿ä? ´ç¿¬È÷ ÀÚ¹Ù ¾ð¾î¿¡ ´ëÇØ Àß ¾Æ´Â °ÍÀÔ´Ï´Ù. À¥ ÇÁ·Î±×·¡¹ÖÀ̶ó´Â °Íµµ °á±¹ »ç¿ëÇÏ´Â API°¡ ´Ù¸¥ °Í »Ó, ÁÁÀº ÀÚ¹Ù À¥ ÇÁ·Î±×·¡¸Ó°¡ µÇ·Á¸é ¸ÕÀú ÁÁÀº ÀÚ¹Ù ÇÁ·Î±×·¡¸Ó°¡ µÇ¾î¾ß ÇÕ´Ï´Ù.

³Ê¹«µµ ´ç¿¬ÇÑ ¸» °°Áö¸¸ Çö½ÇÀº ±×·¸Áö ¾Ê½À´Ï´Ù. ¿©·¯ ÀÚ¹Ù Ä¿¹Â´ÏƼ¿¡ °¡º¸¸é ÀÚ¹Ù¿¡ ´ëÇÑ ±âº»ÀûÀÎ Áú¹®ÀÌ ¼ö¾øÀÌ ¿Ã¶ó¿À¸ç, Çö¾÷ ÇÁ·Î±×·¡¸Ó Áß¿¡µµ ±âÃʰ¡ ºÎÁ·ÇÑ »ç¶÷ÀÌ ³Ê¹«³ªµµ ¸¹½À´Ï´Ù. ÀÚ¹Ù ÇÁ·Î±×·¡¸Ó¶ó¸é ÀÚ¹Ù¿¡ °üÇÑ ±âº»¼­ Çϳª Á¤µµ´Â ¸¶½ºÅÍÇÏ°í ½ÃÀÛÇϵµ·Ï ÇսôÙ.

ÀÚ¹Ù ±âº»¼­µéÀº ´ëü·Î ³»¿ëÀÌ Ãæ½ÇÇϹǷΠ¾Æ¹«°Å³ª »çµµ ³ª»Û ¼±ÅÃÀº ¾Æ´Ò °ÍÀÔ´Ï´Ù. ±×·¡µµ ÃßõÀÌ ÇÊ¿äÇÏ´Ù¸é ¡ºThinking in Java¡»¸¦ ÃßõÇÕ´Ï´Ù. ÇÁ·Î±×·¡¹Ö¿¡ óÀ½ ÀÔ¹®ÇÑ´Ù¸é ¿¹Á¦µéÀ» Á÷Á¢ µû¶óÇØ º¸´Â °Íµµ ÁÁÀ» °ÍÀÔ´Ï´Ù.

ÀÚ¹Ù¿¡ Àͼ÷ÇØÁ³´Ù¸é ´ÙÀ½ ´Ü°è´Â À¥ ±â¼úÀÔ´Ï´Ù. À¥ ÇÁ·Î±×·¡¹ÖÀÇ ±âº»Àº À¥°ú °ü·ÃµÈ ½ºÆå(specification)¿¡ ´ëÇÑ Áö½Ä, ±¸Ã¼ÀûÀ¸·Î ¼­ºí¸´/JSP ½ºÆå, HTTP ½ºÆå(RFC 2068), HTML W3C ½ºÆå µîÀÔ´Ï´Ù. ÀÌ ½ºÆåµé¿¡ ´ëÇØ »ó¼¼È÷ ´Ù ¾Ë ÇÊ¿ä´Â ¾øÁö¸¸ À¥ ÇÁ·Î±×·¡¹Ö¿¡¼­ »ç¿ëÇÏ´Â APIµéÀÌ ¾î¶² ½ºÆå¿¡ ±â¹ÝÀ» µÎ°í ÀÖ´ÂÁö, ÀÚ¼¼È÷ ¾Ë°í ½ÍÀ¸¸é ¹«¾ùÀ» ã¾Æ¾ß ÇÏ´ÂÁö´Â ¾Ë¾Æ¾ß ÇÕ´Ï´Ù.

°ø´ë»ýÀÌ °øÇÐ ¼öÇÐÀÇ ³»¿ëÀ» ÀüºÎ ¾Ë°í ÀÖÀ» ÇÊ¿ä´Â ¾øÁö¸¸ ¹ÌºÐ¹æÁ¤½ÄÀ» Ç®°í ½ÍÀ¸¸é ¾î´À ÆäÀÌÁö¸¦ ã¾ÆºÁ¾ß ÇÏ´ÂÁö´Â ¾Ë°í ÀÖ¾î¾ß ÇÏ´Â °Íó·³ ¾î¶² ¿ä±¸»çÇ×ÀÌ ¹ß»ýÇßÀ» ¶§ ±× ¿ä±¸»çÇ×À» ±¸ÇöÇÏ·Á¸é ¾î¶² ½ºÆåÀ» ã¾ÆºÁ¾ß ÇÏ´ÂÁö Á¤µµ´Â ¾Ë°í ÀÖ¾î¾ß ÇÏ´Â °ÍÀÌÁÒ. ±×¸®°í ÀǿܷΠ¸¹Àº À¥ ÇÁ·Î±×·¡¸ÓµéÀÌ HTML, CSS¿¡ Àͼ÷Áö ¾ÊÀºµ¥, ÀÌ ¶§¹®¿¡ À¥»çÀÌÆ®ÀÇ ºê¶ó¿ìÀú ȣȯ¼ºÀÌ ¶³¾îÁú »Ó¸¸ ¾Æ´Ï¶ó ÁöÀúºÐÇÑ Äڵ带 ¾ç»êÇÏ°Ô µË´Ï´Ù.

HTML ÄÚµå ¿ª½Ã À¯Áöº¸¼ö ´ë»óÀÌ µÇ´Â ÄÚµåÀ̸ç ÀÚ¹Ù ÄÚµå ¸øÁö¾Ê°Ô ±ò²ûÇÏ°Ô À¯ÁöÇÒ ¼ö ÀÖ¾î¾ß ÇÔÀ» ±â¾ïÇØ¾ß ÇÕ´Ï´Ù. À̸¦ À§Çؼ­´Â HTML°ú CSS¿¡ ´ëÇØ »ó¼¼È÷ ¾Ë¾ÆµÑ Çʿ䰡 ÀÖ½À´Ï´Ù. XMLÀº ÀÌÁ¦ ÇÁ·Î±×·¡¸ÓÀÇ ±âº»ÀÌ´Ï ¾ð±ÞÇÒ Çʿ䵵 ¾øÀ» °ÍÀÔ´Ï´Ù. XML ÆÄÀÏÀ» ÀÌ¿ëÇÏ´Â °ÍÀÌ ÆíÇÏ°Ô ´À²¸Áú Á¤µµ°¡ µÇ¸é ÄÚµåÀÇ À¯¿¬¼ºÀ» ³ôÀÏ ÁÁÀº ¹æ¹ýÀ» ¸¹ÀÌ »ý°¢Çس¾ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.

½ºÆåÀ» ½ÇÁ¦·Î Ȱ¿ëÇÏ´Â °ÍÀº API¸¦ ÅëÇØ¼­ÀÔ´Ï´Ù. ¼­ºí¸´/JSP API´Â ½ºÆå°ú´Â ´Þ¸® ½ÇÁ¦·Î API¸¦ ÅëÇØ ¹«¾ùÀ» ÇÒ ¼ö ÀÖ´ÂÁö¸¦ »ó¼¼ÇÏ°Ô ¾Ë°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. À̰ÍÀº ºñ´Ü ¼­ºí¸´/JSP API»Ó ¾Æ´Ï¶ó ÀÚ¹Ù ±âº» API, °¢Á¾ ¶óÀ̺귯¸®ÀÇ APIµµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù. ÇÊÀÚ°¡ ÀÌÁ¦²¯ ÀÚ¹Ù¿¡ °üÇØ ¹Þ¾Æº» Áú¹® Áß ´ëºÎºÐÀº API ¹®¼­¸¸ Àß µé¿©´Ù º¸¸é ÇØ°áµÇ´Â °ÍÀ̾ú½À´Ï´Ù.

API ¹®¼­¸¦ ÀÚÁÖ Ã£¾Æº¸´Â ½À°üÀ» µéÀԽôÙ. ¸®´ª¼­µéÀº ¸Å´º¾óÀ» ÀÐÁö ¾Ê°í Áú¹®ÇÏ´Â »ç¶÷¿¡°Ô RTFM(Read The Fucking Manual)À̶ó´Â ´ë´äÀ» ÇØÁÝ´Ï´Ù. ÀÚ¹Ù ¿ª½Ã RTFMÀÌ ÇÊ¿äÇÕ´Ï´Ù. J2EE ±âº»¼­¸¦ Çϳª »ç¼­ º¸´Â °Íµµ ÁÁÀ» °ÍÀÔ´Ï´Ù. J2EE ±âº»¼­¿¡´Â À¥ °ü·Ã ½ºÆå Áß Áß¿äÇÑ ºÎºÐµé, ¼­ºí¸´/JSP ½ºÆå ¹× APIµéÀÌ Àß Á¤¸®µÇ¾î ÀÖ½À´Ï´Ù. ¡ºJava Server Programming, J2EE Edition¡» Á¤µµ¸é ÈǸ¢ÇÑ Âü°í¼­°¡ µÉ °ÍÀÔ´Ï´Ù.

ÀÌÁ¦ºÎÅÍ ÀÌ·± ±âº»ÀûÀÎ Áö½Ä Áß¿¡ Áß¿äÇÏÁö¸¸ °£°úÇϱ⠽¬¿î °Íµé, °£´ÜÇÏÁö¸¸ ¾Ë¸é µµ¿òÀÌ µÇ´Â Á¤º¸, ÀÚÁÖ ºÎµúÈ÷°Ô µÇ´Â °í¹Î µî ¸î °¡Áö ÀÛÀº ¹®Á¦µéÀ» ¤¾îº¼ °ÍÀÔ´Ï´Ù. ¸ðµÎ ±âº» ÇнÀ °úÁ¤À» Àß °ÅÃÆ´Ù¸é ÀÚ¿¬½º·´°Ô ¾Ë ¼ö ÀÖ´Â ³»¿ëÀÔ´Ï´Ù. ÀÌ·± ÇϳªÇϳªÀÇ Áö½ÄÀ» ÅëÇØ Àڽſ¡°Ô ºÎÁ·ÇÑ Á¡À» µÇ¤¾îº¼ ¼ö ÀÖ´Â °è±â¸¦ ¸¶·ÃÇÒ ¼ö Àֱ⸦ ¹Ù¶ø´Ï´Ù.

web.xml
¹èÄ¡ ¼­¼úÀÚ(deployment descriptor)¶ó°í ºÎ¸£´Â web.xmlÀº À¥ ÇÁ·ÎÁ§Æ®¸¦ ±¸¼ºÇÏ´Â µ¥ ÀÖ¾î ÇʼöÀûÀ̸鼭 À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ µ¿ÀÛÀ» ¿©·¯ °¡Áö·Î Á¶Á¤ÇÏ´Â ±â´ÉÀ» ÇÕ´Ï´Ù. ½ºÆ®·¯Ã÷¸¦ »ç¿ëÇÏ´Â °æ¿ìµµ ½ºÆ®·¯Ã÷¸¦ »ç¿ëÇϱâ À§ÇÑ ¼³Á¤Àº web.xml¿¡ ÇÏ°Ô µÇ´Âµ¥ ±× ¼³Á¤µéÀÌ ¹«½¼ Àǹ̸¦ °¡Áö°í ÀÖ´ÂÁö Á¤µµ´Â »ó½ÄÀ¸·Î ¾Ë¾ÆµÎ´Â °ÍÀÌ ÁÁÀ» °ÍÀÔ´Ï´Ù. <¸®½ºÆ® 1>ÀÇ ½ÇÁ¦ ½ºÆ®·¯Ã÷ ¼³Á¤ ¿¹Á¦¸¦ º¾½Ã´Ù.

 <¸®½ºÆ® 1> web.xml ¼­ºí¸´ ¸ÊÇÎ

PHP, ASP µîÀÇ ´Ù¸¥ ¼­¹ö »çÀÌµå ½ºÅ©¸³Æ®³ª JSP ÆäÀÌÁö´Â ÆäÀÌÁö¸¦ È£ÃâÇÏ´Â °æ·Î¿¡ ½ÇÁ¦ ½ºÅ©¸³Æ® ÆÄÀÏÀÌ Á¸ÀçÇØ¾ß ÇÏÁö¸¸ ¼­ºí¸´Àº ÀÌ¿Í ´Þ¸® web.xmlÀÇ ¼³Á¤À» ÀÌ¿ëÇØ URLÀ» ƯÁ¤ ¼­ºí¸´À¸·Î ¸ÊÇÎÇÒ ¼ö ÀÖ½À´Ï´Ù. <¸®½ºÆ® 1>ÀÇ ¼³Á¤Àº È£ÃâµÈ URLÀ» ½ºÆ®·¯Ã÷ÀÇ ActionÀ¸·Î ¸ÊÇÎÇϱâ À§ÇÑ ¼³Á¤ÀÔ´Ï´Ù.

servlet ¼³Á¤¿¡¼­ actionÀ̶ó´Â À̸§ÀÇ ¼­ºí¸´À» org.apache.struts.action.ActionServlet Ŭ·¡½º·Î µî·ÏÇÏ°í ´ÙÀ½ servlet-mapping ¼³Á¤¿¡¼­ *.do¶ó´Â URL·Î È£ÃâµÈ ÆäÀÌÁöµéÀ» actionÀ̶ó´Â À̸§ÀÇ ¼­ºí¸´À¸·Î ¸ÊÇÎÇÕ´Ï´Ù. url-pattern °ªÀ» *.nhnÀ¸·Î ¹Ù²Û´Ù¸é *.nhnÀ¸·Î È£ÃâµÈ ¿äûµéÀÌ ActionServletÀ¸·Î ¸ÊÇ뵃 °ÍÀÔ´Ï´Ù. ½ºÆ®·¯Ã÷´Â ÀÌ ActionServlet¿¡¼­ ¿äûÀ» °¢ ActionÀ¸·Î ºÐ±â½ÃÄÑ ÁÝ´Ï´Ù. init-paramÀº ¼­ºí¸´À» ÃʱâÈ­ÇÒ ¶§ »ç¿ëÇÒ ÆÄ¶ó¹ÌÅÍ °ªÀ̸ç getInitParameter ¸Þ½îµå¸¦ ÅëÇØ Àоî¿Ã ¼ö ÀÖ½À´Ï´Ù. load-on-startupÀº ¼­ºí¸´ ¿£ÁøÀÌ ½ÃÀÛµÉ ¶§ ·ÎµåµÉ ¿ì¼±¼øÀ§¸¦ ÁöÁ¤ÇÏ´Â °ªÀÔ´Ï´Ù.

À妽º ÆäÀÌÁö¸¦ ÁöÁ¤ÇÏ´Â °Íµµ web.xml¿¡¼­ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¹Àº À¥ »çÀÌÆ®µéÀÌ ±¸Ã¼ÀûÀÎ °æ·Î ÁöÁ¤ ¾øÀÌ µµ¸ÞÀθí±îÁö¸¸ ½áÁ൵ ÆäÀÌÁö¸¦ Ç¥½ÃÇÕ´Ï´Ù. À̸¦Å׸é http://www.hangame.comÀ¸·Î È£ÃâÇÒ °æ¿ì ´ÙÀ½°ú °°ÀÌ ¼³Á¤Çصθé www.hangame.comÀÇ /index.jsp¸¦ È£ÃâÇÏ°Ô ¸¸µé ¼ö ÀÖ½À´Ï´Ù.

 <¸®½ºÆ® 2> web.xml À妽º ÆäÀÌÁö ¼³Á¤

ÅÂ±×¸í¿¡¼­ ÁüÀÛÇÒ ¼ö ÀÖµíÀÌ À妽º ÆäÀÌÁö´Â ¿©·¯ °³¸¦ µÖ¼­ ¼ø¼­´ë·Î °Ë»öÇÏ°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î index.html°ú index.jsp°¡ ¼ø¼­´ë·Î ÁöÁ¤µÈ´Ù¸é ¼­ºí¸´ ¿£ÁøÀº index.htmlÀÌ ÀÖÀ¸¸é index.htmlÀ» º¸¿©ÁÖ°í ¾øÀ¸¸é index.jsp¸¦ È£ÃâÇÕ´Ï´Ù. À̰͵µ ¾øÀ¸¸é 404 ¿¡·¯°¡ ³ª°Å³ª µð·ºÅ丮 ¸ñ·ÏÀÌ º¸ÀÌ°Ô µË´Ï´Ù. ÀÌ À妽º ÆäÀÌÁö´Â ¸ðµç °æ·Î¿¡ ´ëÇØ µ¿ÀÛÇÕ´Ï´Ù.

ÀÌ¿Í °°Àº ¼³Á¤ÀÇ °æ¿ì http://www.hangame.com/login/À» È£ÃâÇÑ´Ù¸é http://www.hangame.com/login/index.jsp¸¦ ã°Ô µÇ´Â °ÍÀÔ´Ï´Ù. ÀÌ ¼³Á¤Àº »ç½Ç ¾ÆÆÄÄ¡ µîÀÇ À¥¼­¹ö¿¡¼­µµ ÇØÁÙ ¼ö ÀÖÀ¸³ª º¸Åë À¥ ¼­¹ö¿¡¼­´Â À妽º ÆäÀÌÁö°¡ ½ÇÁ¦ ÆÄÀÏ·Î Á¸ÀçÇØ¾ß º¸¿©ÁÙ ¼ö Àִµ¥, ¼­ºí¸´ ¿£Áø¿¡¼­´Â ½ÇÁ¦ ÆÄÀÏ·Î Á¸ÀçÇÏÁö ¾Ê°í ¼­ºí¸´ ¸ÊÇÎÀ¸·Î ÁöÁ¤¸¸ µÇ¾î À־ º¸¿©ÁÙ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖ½À´Ï´Ù.

Á¢±Ù ±ÇÇѵµ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±ÇÇÑ Ã¼°è°¡ °£´ÜÇÑ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ̶ó¸é web.xml¸¸À¸·Îµµ ÃæºÐÇÑ ±ÇÇÑ ¼³Á¤À» ÇØÁÙ ¼ö ÀÖ½À´Ï´Ù.

 <¸®½ºÆ® 3> web.xml Á¢±Ù Á¦ÇÑ ¼³Á¤

<¸®½ºÆ® 3>ÀÇ ¿¹´Â ¼­ºí¸´ ½ºÆå ¹®¼­¿¡ ÀÖ´Â ¿¹ÀÔ´Ï´Ù. À̰ÍÀÇ Àǹ̴ GETÀ̳ª POST·Î /retail/*°ú °°Àº ¿äûÀº CONTRACTOR¿Í HOMEOWNER¶ó´Â roleÀ» °¡Áø »ç¿ëÀÚ¿¡°Ô¸¸ Çã¶ôÇϰڴٴ ¶æÀÔ´Ï´Ù. ÀÌ¿ÜÀÇ »ç¿ëÀÚ´Â ±ÇÇÑÀÌ ¾ø´Ù´Â 401 ¿¡·¯ ÆäÀÌÁö¸¦ º¸°Ô µË´Ï´Ù. ÀÌ·± Á¢±Ù Á¦ÇÑ »Ó ¾Æ´Ï¶ó ·Î±×ÀΠ󸮵µ login-config ¼³Á¤À» ÀÌ¿ëÇÏ¸é °¡´ÉÇÕ´Ï´Ù. ½ÇÁ¦ ÅèĹÀÇ admin°ú manager ¾ÖÇø®ÄÉÀ̼ÇÀº ÀÌ ¼³Á¤À» ÀÌ¿ëÇØ¼­ ÀÎÁõ°ú ±ÇÇÑ Ã³¸®¸¦ ÇÕ´Ï´Ù.

ÀÚ¼¼ÇÑ ½ºÆåÀº ¼­ºí¸´ ½ºÆå ¹®¼­¿¡ Á¤ÀǵǾî ÀÖÀ¸³ª ½ÇÁ¦ Ȱ¿ëÇϱ⿣ ´Ù¼Ò ºÎÁ·ÇÑ °¨ÀÌ ÀÖ°í, ÅèĹÀÇ ½ÇÁ¦ Ȱ¿ë ¿¹¸¦ º¸´Â °ÍÀÌ µµ¿òÀÌ µÉ °ÍÀÔ´Ï´Ù. À̿ܿ¡µµ ¼­ºí¸´ ÇÊÅÍ ¼³Á¤, ¼¼¼Ç ¼³Á¤, ¸®¼Ò½º ¼³Á¤ µî ¿©·¯ °¡Áö À¯¿ëÇÑ ¼³Á¤À» ÇØÁÙ ¼ö ÀÖ°í °øÅëÀûÀÎ ¿¡¿Ü 󸮸¦ À§ÇÑ ¿¡·¯ ÆäÀÌÁö ¼³Á¤µµ °¡´ÉÇÕ´Ï´Ù. ¿¡·¯ ÆäÀÌÁö ¼³Á¤ ºÎºÐÀº ÀÌÈÄ ¿¹¿Ü 󸮿¡¼­ ÀÚ¼¼È÷ ´Ù·ê °ÍÀÔ´Ï´Ù.

¿¹¿Ü ó¸®
ÀÚ¹ÙÀÇ °­Á¡ Áß Çϳª°¡ Æí¸®ÇÑ ¿¹¿Ü ó¸® ¹æ½ÄÀÔ´Ï´Ù. C µî ¿¹¿Ü ó¸® ¹®¹ýÀÌ ¾ø´Â ¾ð¾î¸¦ ¸ÕÀú Á¢ÇÑ ÇÁ·Î±×·¡¸Ó¿¡°Ô´Â »ý¼ÒÇÑ °³³äÀÏ ¼ö ÀÖ°ÚÁö¸¸ ¾Ë¸é ¾Ë¼ö·Ï Æí¸®ÇÑ °ÍÀÌ ÀÚ¹ÙÀÇ ¿¹¿Ü ó¸®ÀÔ´Ï´Ù. ÇÏÁö¸¸ ÀǿܷΠ¸¹Àº ÀÚ¹Ù ÇÁ·Î±×·¡¸ÓµéÀÌ ¿¹¿Ü 󸮸¦ ¾î·Á¿öÇÏ°í ¿¹¿Ü 󸮸¦ Á¦´ë·Î ÇÏÁö ¾Ê¾Æ ¿©·¯ °¡Áö ¹®Á¦¸¦ ¹ß»ý½Ãŵ´Ï´Ù.

±âº»À̶ó°í ÇÒ ¼öµµ ÀÖ´Â ºÎºÐÀ̱ä Çϳª »ç½Ç À̰ÍÀº ÀÚ¹ÙÀÇ ¿¹¿Ü ó¸® ¹®¹ý¸¸ ¹è¿î´Ù°í µÇ´Â ¹®Á¦´Â ¾Æ´Ï¸ç ¿¹¿Ü 󸮿¡ ´ëÇÑ ¸¹Àº °í¹ÎÀÌ ÇÊ¿äÇÕ´Ï´Ù. ƯÈ÷ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¿¹¿Ü 󸮴 ÇÁ·Î±×·¡¸Ó¸¦ À§ÇÑ ºÎºÐ°ú À¥ »çÀÌÆ® ¹æ¹®°´À» À§ÇÑ ºÎºÐ µÎ °¡Áö¸¦ ¸ðµÎ °í·ÁÇØ¾ß ÇÕ´Ï´Ù.

¸ÕÀú ÇÁ·Î±×·¡¸ÓÀÇ ÀÔÀåÀ» »ìÆìº¾½Ã´Ù. ¿¹¿Ü°¡ ¹ß»ýÇÏ¸é ¾îµð±îÁö´Â ±×³É ´øÁö°í ¾îµð¼­ ijġÇÏ´Â °ÍÀÌ ÁÁÀ»±î¿ä? ÀÚ¹ÙÀÇ ¿¹¿Ü´Â ÀÚ¹Ù ÄÚµåÀÇ ¸ðµç ¿µ¿ª¿¡¼­ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸ðµç ¿µ¿ª¿¡ ´Ù try-catch¸¦ °É°í ¿¹¿Ü¸¦ ÀâÀ» ¼ö´Â ¾ø´Â ÀÏÀÔ´Ï´Ù. ´ëºÎºÐÀÇ ¿¹¿Ü´Â ÀÏ´Ü ±×³É ´øÁö´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ÀÚ¹ÙÀÇ ¿¹¿Ü°¡ ÁÁÀº °ÍÀº ²À ¿¹¿Ü°¡ ¹ß»ýÇÑ ±× ÁöÁ¡¿¡¼­ 󸮸¦ ÇÏÁö ¾Ê¾Æµµ µÈ´Ù´Â °Í ¶§¹®ÀÔ´Ï´Ù. ¿¹¿Ü¸¦ ´øÁüÀ¸·Î½á ¿¹¿Ü¸¦ ó¸®Çϱ⿡ ÀûÀýÇÑ À§Ä¡¿¡¼­ ó¸®ÇÏ°Ô ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ¾î¶»°Ô ó¸®ÇØ¾ß ÇÒÁö Àß ¸ð¸£°Ú´Ù¸é ±×³É ±×´ë·Î ´øÁöµµ·Ï ÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.

¿¹¿Ü¸¦ Àâ¾Æ¼­ ó¸®ÇØ¾ß ÇÏ´Â °÷Àº ÀϹÝÀûÀ¸·Î »ç¿ëÀÚ¿¡°Ô È­¸éÀ» º¸¿©ÁÖ±â Á÷ÀüÀ̸ç À̰ÍÀº À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÌ MVC(Model-View-Controller) ÆÐÅÏÀ¸·Î ÀÛ¼ºµÇ¾î ÀÖ´Ù¸é ÄÁÆ®·Ñ·¯¿¡¼­ ÀÌ ÀÏÀ» ÇÏ°Ô µË´Ï´Ù. ÄÁÆ®·Ñ·¯¿¡¼­ ¿¹¿Ü¸¦ º¸°í ÆÇ´ÜÇØ »ç¿ëÀÚ¿¡°Ô º¸¿©ÁÙ È­¸éÀ» °áÁ¤ÇÏ´Â °ÍÀÔ´Ï´Ù.

¼îÇθô¿¡¼­ ¸¶Àϸ®Áö Àû¸³¾×À¸·Î »óǰÀ» ±¸¸ÅÇÏ´Â °úÁ¤À» ¿¹·Î µé¾îº¸°Ú½À´Ï´Ù. ¸¸¾à °í°´ÀÌ ÀÚ½ÅÀÇ ¸¶Àϸ®Áöº¸´Ù ´õ ¸¹Àº ±Ý¾×ÀÇ »óǰÀ» ±¸¸ÅÇÏ·Á ÇÑ´Ù¸é ±¸¸Å¸¦ ¼öÇàÇÏ´Â ¸ðµ¨ °´Ã¼¿¡¼­ ¿¹¿Ü°¡ ¹ß»ýÇÒ °ÍÀÔ´Ï´Ù. ±×·¯¸é ÀÌ ¸ðµ¨ Ŭ·¡½º¿¡¼­ ¿¹¿Ü¸¦ ¹Ù·Î ÀâÁö ¸»°í ´øÁ®¼­ ±¸¸Å ÇÁ·Î¼¼½ºÀÇ ÄÁÆ®·Ñ·¯ °´Ã¼¿¡¼­ À̸¦ Àâ¾Æ¼­ ¿¹¿Ü ÆäÀÌÁö·Î Æ÷¿öµå½ÃÄÑ ¿¹¿Ü ¸Þ½ÃÁö¸¦ º¸¿©ÁÖ´Â ½ÄÀ¸·Î ÄÚµùÇÏ¸é µË´Ï´Ù.

À¥»çÀÌÆ® ¹æ¹®°´À» À§ÇØ Áß¿äÇÑ °ÍÀº ÀÚ¹Ù ¿¹¿Ü°¡ ¹ß»ýÇßÀ» ¶§ ÀÌÇØÇÒ ¼ö ¾ø´Â ½Ã½ºÅÛ ¿¡·¯ ¸Þ½ÃÁö³ª ½ºÅà Á¤º¸ µîÀÇ È²´çÇÑ È­¸éÀÌ ¾Æ´Ñ Ä£ÀýÇÑ ¿¡·¯ ¸Þ½ÃÁö¸¦ Ç¥½ÃÇØ ÁÖ´Â °ÍÀÔ´Ï´Ù. À̸¦ À§Çؼ­´Â ÄÁÆ®·Ñ·¯¿¡¼­µµ ó¸®ÇÏÁö ¸øÇÏ°í ´øÁ®Áø, Á¤¸» ¿¹»ó ¹ÛÀÇ ¿¹¿Ü¸¦ ¸ðµÎ ²ø¾î ¸ð¾Æ ó¸®ÇÏ´Â ºÎºÐÀÌ ÇÊ¿äÇÕ´Ï´Ù.

¼­ºí¸´/JSP¿¡¼­´Â ÀÌ·± ºÎºÐÀÇ Ã³¸®¸¦ À§ÇÑ ±â´ÉÀ» ¿©·¯ °¡Áö·Î Á¦°øÇϰí ÀÖ°í ½ºÆ®·¯Ã÷ µîÀÇ ÇÁ·¹ÀÓ¿öÅ©¿¡¼­µµ ´Ù¾çÇÑ ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù. JSPÀÇ ¿¡·¯ ÆäÀÌÁö ¼³Á¤ÀÌ ±× ÇÑ ¿¹ÀÔ´Ï´Ù. ±×·¯³ª JSPÀÇ ¿¡·¯ ÆäÀÌÁö ¼³Á¤ ¹æ½ÄÀº ¸ðµç JSP ÆäÀÌÁö¿¡ ¼³Á¤ÇØ¾ß ÀÛµ¿ÇÑ´Ù´Â ´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù. ¸¸¾à ¿¡·¯ ÆäÀÌÁö ÁöÁ¤À» ºü¶ß¸° ÆäÀÌÁö¿¡¼­ ¿¹¿Ü°¡ ¹ß»ýÇÑ´Ù¸é ¼­ºí¸´ ¿£ÁøÀÇ ¿¡·¯ ¸Þ½ÃÁö°¡ ±×´ë·Î À¥»çÀÌÆ® ¹æ¹®°´¿¡°Ô Àü´ÞµÇ°í ¸¿´Ï´Ù.

ÀÌ·± ºÎºÐÀ» ½±°Ô ó¸®Çϱâ À§ÇÑ ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. À̰ÍÀº ¾Õ¿¡¼­ ¼³¸íÇß´ø web.xmlÀÇ ¿¡·¯ ÆäÀÌÁö ¼³Á¤À» ÀÌ¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ¿ì¼± ´ÙÀ½ÀÇ ¿¹¸¦ º¼±î¿ä.

 <¸®½ºÆ® 4> web.xml ¿¡·¯ ÆäÀÌÁö ¼³Á¤

ÀÌ·¸°Ô ¼³Á¤ÇØ µÎ¸é À¥ ¾ÖÇø®ÄÉÀÌ¼Ç Àü¹Ý¿¡¼­ ¹ß»ýÇÏ´Â ¿¹¿Ü Áß java.lang.ExceptionÀ» »ó¼ÓÇÑ ¿¹¿Ü´Â ¸ðµÎ ÀâÇô¼­ /common/error.jsp ÆäÀÌÁö¿¡¼­ ó¸®ÇÏ°Ô µË´Ï´Ù. ¿¹¿Ü°¡ ¹ß»ýÇϸé request °´Ã¼¿¡ ¿¹¿Ü »óȲ¿¡ ´ëÇÑ Á¤º¸°¡ attribute·Î ÀúÀåµÈ ÈÄ /common/error.jsp·Î Æ÷¿öµåµÇ¾î ÀÌ °÷¿¡¼­ request¿¡ ´ã±ä Á¤º¸¸¦ ¹ÙÅÁÀ¸·Î ¿¹¿Ü 󸮸¦ ÇØÁÙ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °÷¿¡¼­´Â ÀϹÝÀûÀÎ ¿¡·¯ ¸Þ½ÃÁö¸¦ »ç¿ëÀÚ¿¡°Ô º¸¿©ÁÖ¸é µË´Ï´Ù. ÀÚ¹Ù ¿¹¿Ü »Ó ¾Æ´Ï¶ó HTTP ¿¡·¯ Äڵ嵵 Àâ¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù.

À̸¦Å×¸é ¾ø´Â ÆäÀÌÁö¸¦ È£ÃâÇØ¼­ 404 ¿¡·¯°¡ ³ª´Â °æ¿ì À̸¦ Àâ¾Æ¼­ ÆäÀÌÁö°¡ ¾ø´Ù´Â ¿¡·¯ ¸Þ½ÃÁö¸¦ Á»´õ Ä£ÀýÇÑ ¸Þ½ÃÁö·Î º¸¿©ÁÙ ¼ö ÀÖ½À´Ï´Ù. µ¡ºÙ¿©, ÀÌ ¿¡·¯ ó¸® ÆäÀÌÁö´Â °¡±ÞÀû ¼ø¼öÇÑ ¼­ºí¸´À¸·Î ¸¸µå´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ½ºÆ®·¯Ã÷ÀÇ ActionÀ¸·Î ¿¡·¯ ÆäÀÌÁö¸¦ ±¸¼ºÇغ» ÀûÀÌ ÀÖ¾ú´Âµ¥ ¼³Á¤ »óÀÇ ¹®Á¦·Î ½ºÆ®·¯Ã÷ÀÇ ActionServlet ·ÎµùÀÌ ½ÇÆÐÇÒ °æ¿ì ¿¹¿Ü¸¦ Á¦´ë·Î Ç¥½ÃÇÏÁö ¸øÇÕ´Ï´Ù. JSP·Î ¸¸µå´Â °Íµµ ³ª»ÚÁø ¾ÊÀ¸³ª º¹ÀâÇÑ ·ÎÁ÷ÀÌ µé¾î°¥¼ö·Ï ¼­ºí¸´ÀÌ ÄÚµùÇϱ⠴õ ÆíÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¸¾à ÀÌ ¿¡·¯ ÆäÀÌÁö ÀÚü¿¡¼­ ¶Ç´Ù½Ã ¿¹¿Ü°¡ ¹ß»ýÇϸé ã±â Èûµç °æ¿ì°¡ ¸¹±â ¶§¹®¿¡ ÁÖÀǸ¦ ¸¹ÀÌ ±â¿ï¿©¾ß ÇÕ´Ï´Ù.

·Î±ë
¿¡·¯ ÆäÀÌÁö¿¡¼­ ÇØ¾ß ÇÒ ¶Ç Çϳª Áß¿äÇÑ ÀÏÀº ¿¹¿Ü »óȲ¿¡ ´ëÇÑ ·Î±×¸¦ ³²±â´Â °ÍÀÔ´Ï´Ù. ¿¡·¯ ÆäÀÌÁö±îÁö ¿Ô´Ù´Â °ÍÀº ÀÌ¹Ì °³¹ßÀÚÀÇ ¿¹»óÀ» ¹þ¾î³­ µ¿ÀÛÀ» Çϰí ÀÖ´Ù´Â °ÍÀ̹ǷΠÀÌ »ç½ÇÀº °³¹ßÀÚ¿¡°Ô »¡¸® Àü´ÞµÇ¾î¾ß ÇÕ´Ï´Ù. ÀÌ ¶§¹®¿¡ ·Î±×¸¦ Á¦´ë·Î ³²°Ü¼­ Á¶È¸ÇÏ±â ÆíÇÑ ½Ã½ºÅÛÀ» ±¸ÃàÇØ¾ß ÇÕ´Ï´Ù. ·Î±ë API´Â ¿©·¯ °¡Áö°¡ ÀÖ°í JDK ÀÚü¿¡µµ Æ÷ÇԵǾî ÀÖÁö¸¸ log4j°¡ °¡Àå ³Î¸® »ç¿ëµÇ°í ¼º´É, ±â´É, ¾ÈÁ¤¼º µî ¿©·¯ °¡Áö ¸é¿¡¼­ ´Ù¸¥ °Íµéº¸´Ù ³´½À´Ï´Ù.

¿©·¯°¡Áö ·Î±ë API¸¦ ¹Ù²ã°¡¸é¼­ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â ÀÚÄ«¸£Å¸ÀÇ commons-logging ÇÁ·ÎÁ§Æ®µµ ¾µ¸¸ÇÕ´Ï´Ù. ·Î°Å °´Ã¼´Â ÀϹÝÀûÀ¸·Î Ŭ·¡½º ´ç Çϳª¸¦ Ŭ·¡½ºÀÇ Àüü À̸§À¸·Î »ý¼ºÇØ »ç¿ëÇÕ´Ï´Ù. <¸®½ºÆ® 5>´Â commons-loggingÀ» »ç¿ëÇÏ´Â ¿¹ÀÔ´Ï´Ù.

 <¸®½ºÆ® 5> ·Î±× »ç¿ë¹ý

ÀÌ·¯¸é ·Î±× °´Ã¼´Â Avatar Ŭ·¡½ºÀÇ Àüü À̸§, com.hangame.avatar.Avatar·Î »ý±é´Ï´Ù. ¸¸¾à ¿©±â¿¡ log4j¸¦ ºÙ¿©¼­ »ç¿ëÇÑ´Ù¸é <¸®½ºÆ® 6>°ú °°Àº log4j ¼³Á¤À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

 <¸®½ºÆ® 6> log4j.xml ¿¹Á¦

ÀÌ ¼³Á¤Àº com.hangame¿Í org.apache¶ó´Â À̸§ÀÇ ·Î°Å¸¦ µÎ °³ »ý¼ºÇϰí ÀÖ½À´Ï´Ù. ·Î°ÅÀÇ Æ¯¼ºÀº À̸§À¸·Î »ó¼ÓµË´Ï´Ù. com.hangame.avatar.Avatar¶ó´Â À̸§ÀÇ ·Î°Å´Â com.hangameÀÇ ¼Ó¼ºÀ» ¸ðµÎ »ó¼Ó ¹Þ°Ô µË´Ï´Ù. ±×·¯¸é com.hangameÀÌ normal°ú memory¶ó´Â µÎ °³ÀÇ appender¸¦ °®°í Àֱ⠶§¹®¿¡ com.hangame.avatar.Avatar ·Î°Å°¡ ÂïÀº ·Î±×´Â Ç¥ÁØ Ãâ·ÂÀ¸·Îµµ ³ª°¡°í ¸Þ¸ð¸®¿¡µµ ³²°Ô µË´Ï´Ù. log4jÀÇ ÀÌ·± Ư¼ºÀ» ÀÌ¿ëÇÏ¸é ´Ù¾çÇÑ ¹æ½ÄÀ¸·Î ·Î±×¸¦ ³²±æ ¼ö ÀÖ°í ·Î±×¸¦ ¼±ÅÃÀûÀ¸·Î ÄÑ°í ²ø ¼ö ÀÖ½À´Ï´Ù. ÀÌ·± ±â´ÉµéÀ» Àß È°¿ëÇÏ¸é ·Î±×¸¦ Á¶È¸Çϱ⠽±°Ô ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

¾Õ¿¡¼­ ¿¹¸¦ µç °Íó·³ ¸Þ¸ð¸®¿¡ ÃÖ±Ù ·Î±×¸¦ ³²°ÜµÎ°í À̸¦ Á¶È¸ÇÒ ¼ö ÀÖ´Â ÆäÀÌÁö¸¦ ¸¸µç´Ù°Å³ª µ¥ÀÌÅͺ£À̽º¿¡ ·Î±×¸¦ ½×À» ¼öµµ ÀÖ½À´Ï´Ù. ±×¸®°í ÁÖ±âÀûÀ¸·Î ÀÌ·± ·Î±× Á¶È¸ ÆäÀÌÁö¸¦ ¸ð´ÏÅÍÇϸ鼭 ·Î±× ¸®Æ÷Æ®¸¦ °³¹ßÀÚ¿¡°Ô ¸ÞÀÏ µîÀ¸·Î ÀÚµ¿ ¹ß¼ÛÇÏ´Â ½Ã½ºÅÛµµ ±¸»óÇØ º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.

¿¹¿Ü ÃßÀû
¿¹¿Ü ó¸® ½Ã½ºÅÛÀ» ±¸ÃàÇÏ°í ¿¹¿Ü ·Î±×¸¦ ³²°åÀ¸¸é ´ÙÀ½Àº ÀÌ Á¤º¸¸¦ ¹ÙÅÁÀ¸·Î ¹®Á¦Á¡À» ã¾Æµé¾î°¡´Â °ÍÀÔ´Ï´Ù. ¿¹¿Ü ÃßÀûÀÇ Ãâ¹ßÁ¡Àº ´ç¿¬È÷ ¿¹¿Ü ½ºÅà Á¤º¸ÀÔ´Ï´Ù. ´ëºÎºÐÀÇ ¹®Á¦´Â ¿¹¿Ü ½ºÅà Á¤º¸¸¸ °¡Áö°íµµ ã¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù.

ÇÏÁö¸¸ ÀǿܷΠ¸¹Àº ÇÁ·Î±×·¡¸ÓµéÀÌ ¿¹¿Ü°¡ ¹ß»ýÇßÀ» ¶§ ½ºÅà Á¤º¸¸¦ º¸Áö ¾Ê°í ÀÚ½ÅÀÇ °æÇè¿¡ ÀÇÁöÇØ ¹®Á¦Á¡À» ¿¹ÃøÇÏ·Á Çϰï ÇÕ´Ï´Ù. ÀÌ·± ½ÇÁ¦ »óȲ¿¡ ±â¹ÝÀ» µÎÁö ¾ÊÀº ¿¹ÃøÀº ¿î ÁÁ°Ô ¹®Á¦¸¦ ¹Ù·Î ¤¾î³»´Â °æ¿ìµµ ÀÖ°ÚÁö¸¸ ´ë°³ÀÇ °æ¿ì ½Ã°£¸¸ ³¶ºñÇÏ°Ô µË´Ï´Ù. ¿¹¿Ü°¡ ¹ß»ýÇÏ¸é ¹Ýµå½Ã ½ºÅà Á¤º¸¿¡ ÂïÈù ¼Ò½ºÀÇ ¶óÀκÎÅÍ »ìÆìº¸´Â ½À°üÀ» ±â¸£´Â °ÍÀÌ ÁÁ½À´Ï´Ù.

½ºÅà Á¤º¸´Â °¡²û ¼ö¹é ¶óÀο¡ À̸¦ Á¤µµ·Î ±æ¾îÁö´Â °æ¿ìµµ °£È¤ ÀÖ½À´Ï´Ù. ÀÌ ¸ðµç Á¤º¸¸¦ ´Ù ã¾Æº¼ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ½ºÅà Á¤º¸´Â ¸Þ½îµå°¡ È£ÃâµÈ ¿ª¼øÀ¸·Î ÂïÈ÷¹Ç·Î À§¿¡ ÀÖ´Â Á¤º¸°¡ ¿¹¿Ü°¡ ¹ß»ýÇÑ À§Ä¡¿Í °¡±î¿î Á¤º¸ÀÔ´Ï´Ù.

±×·¸´Ù°í ´Ã Á¦ÀÏ À§ÀÇ Á¤º¸¸¦ ºÁ¾ß ÇÏ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ °æ¿ì ½ºÅà Á¤º¸´Â ÀÚ½ÅÀÌ ÀÛ¼ºÇÑ Å¬·¡½º»Ó ¾Æ´Ï¶ó ¼­ºí¸´ ¿£ÁøÀ» Æ÷ÇÔÇÑ ¿©·¯ °¡Áö Ŭ·¡½ºÀÇ Á¤º¸°¡ °°ÀÌ ´ã°Ü ÀÖ½À´Ï´Ù. ÀÌ·± Á¤º¸´Â º¸Åë º¼ Çʿ䰡 ¾ø°í ½ºÅà Á¤º¸¿¡¼­ ÀÚ½ÅÀÌ ÀÛ¼ºÇÑ Å¬·¡½º Áß Á¦ÀÏ À§¿¡ ÀÖ´Â °Í, À̰ÍÀÌ ¿¹¿Ü°¡ ¹ß»ýÇÑ ÁöÁ¡À̸ç ÀÌ °÷À» ã¾Æº¸¸é ´ëºÎºÐÀÇ ¹®Á¦Á¡Àº Á¤È®ÇÏ°Ô ÃßÀûÇÒ ¼ö ÀÖ½À´Ï´Ù.

¶Ç ÇÑ °¡Áö ÀÚ¹Ù Ãʺ¸ÀÚ¸¦ ±«·ÓÈ÷´Â ¹®Á¦´Â NullPointerExceptionÀÔ´Ï´Ù. »ç½Ç À̰ÍÀº Ãʺ¸ÀÚ¿¡°Ô´Â ¾ÆÁÖ ±î´Ù·Î¿î ¹®Á¦Áö¸¸ Á¶±Ý¸¸ ¾Ë¸é °¡Àå ã±â ½¬¿î ¹®Á¦ Áß Çϳª°¡ NullPointerExceptionÀÔ´Ï´Ù. NullPointerExceptionÀº °´Ã¼ÀÇ ¸â¹ö º¯¼ö³ª ¸Þ½îµå¸¦ ÀÌ¿ëÇÏ·Á°í ÇÒ ¶§ ±× °´Ã¼°¡ nullÀÎ °æ¿ì¿¡ ¹ß»ýÇÕ´Ï´Ù. µû¶ó¼­ NullPointerExceptionÀÌ ¹ß»ýÇÏ¸é ¾ÕÀÇ ¹æ¹ý´ë·Î ¿¹¿Ü°¡ ¹ß»ýÇÑ ¶óÀÎÀ» ã¾Æµé¾î°£ ´ÙÀ½ ±× ¶óÀο¡¼­ ¸â¹ö ÁöÁ¤ ¿¬»êÀÚ(.) ¾Õ¿¡ ÀÖ´Â °´Ã¼¸¦ º¸¸é µË´Ï´Ù. ÀÌ »ç½Ç¸¸ ¾Ë°í À־ NullPointerExceptionÀÌ ¹ß»ýÇßÀ» ¶§ ¾î¶² °´Ã¼°¡ nullÀÎÁö¸¦ ½±°Ô ã¾Æ³¾ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.

°£È¤ NullPointerExceptionÀÌ ½È¾î¼­ ´ÙÀ½°ú °°Àº Äڵ带 ÀÛ¼ºÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

if ("Y".equals(param)) doSomthing();
else doOther();

ÀÌ·± ÄÚµå´Â Á¶½ÉÇØ¼­ ½á¾ß ÇÕ´Ï´Ù. paramÀÇ null üũ°¡ ±ÍÂú¾Æ¼­ ÀÌ·± ½ÄÀÇ Äڵ带 ¾²°ï Çϴµ¥ ¸¸¾à paramÀÇ °ªÀÌ YÀÎ °æ¿ì´Â doSomething()À» ½ÇÇàÇϰí, NÀ̳ª nullÀ̸é doOther()¸¦ ½ÇÇàÇØ¾ß ÇÏ´Â °æ¿ì¶ó¸é ÀÌ ÄÚµå´Â ¹®Á¦°¡ ¾ø½À´Ï´Ù. ±×·¯³ª ¸¸¾à paramÀº nullÀÌ¸é ¾È µÇ´Â »óȲÀ̶ó¸é ¾î¶»°Ô µÉ±î¿ä? ´Ù¸¥ ºÎºÐÀÇ ¹ö±×·Î param¿¡ nullÀÌ µé¾î¿Íµµ ÇÁ·Î±×·¡¸Ó´Â À̰ÍÀ» ¾Ë¾ÆÂ÷¸®Áö ¸øÇÏ°í ³Ñ¾î°¡°Ô µË´Ï´Ù. Áï, ¹ö±×¸¦ ÀºÆóÇÏ´Â Äڵ尡 µË´Ï´Ù.

´çÀåÀÇ ¹®Á¦¸¦ ¹ß»ýÇÏÁö ¾Ê´õ¶óµµ ÀÌ·± ÄÚµå´Â ³ªÁß¿¡ ã±â Èûµç ¹®Á¦¸¦ À¯¹ßÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·± °æ¿ì´Â ±×³É NullPointerExceptionÀÌ ¹ß»ýÇϵµ·Ï ³»¹ö·Á µÎ¸é param¿¡ null °ªÀÌ µé¾î¿ÔÀ» ¶§ ´Ù¸¥ ºÎºÐ¿¡ ¹ö±×°¡ Àֱ⠶§¹®À̶ó´Â »ç½ÇÀ» °¨ÁöÇÒ ¼ö ÀÖ½À´Ï´Ù. »óȲ¿¡ µû¶ó À§¿Í °°Àº Äڵ带 ½áµµ µÇ´ÂÁö¸¦ ½ÅÁßÈ÷ °ËÅäÇÑ ÈÄ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. ¿¹¿Ü ¹ß»ýÀÌ µÎ·Á¿ö¼­ ¹ö±×¸¦ ÀºÆóÇÒ ¼ö ÀÖ´Â Äڵ带 ¸¸µéÁö ¸¿½Ã´Ù.

ÇÑ±Û ¹®Á¦
À¥ ÇÁ·Î±×·¡¸ÓµéÀ» ±«·Ó°Ô ÇÏ´Â ¹®Á¦¸¦ ²ÅÀ» ¶§ ºüÁöÁö ¾Ê´Â °ÍÀÌ ÇÑ±Û ¹®Á¦ÀÔ´Ï´Ù. ÇÑ±Û ¹®Á¦°¡ Áö±Ýó·³ °ñÄ¡ ¾ÆÇÁ°Ô µÈ µ¥´Â ¿ª»çÀûÀ¸·Î º¹ÀâÇÑ ¿øÀεéÀÌ ¾ôÇô Àִµ¥ ÀÌ·± ¹®Á¦´Â Á¢¾îµÎ°í ÀÚ¹Ù À¥ ÇÁ·Î±×·¡¸Ó·Î¼­ ÇÑ±Û ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ¾Ë¾Æ¾ß ÇÏ´Â °ÍµéÀ» »ìÆìº¸°Ú½À´Ï´Ù.

ÀÚ¹Ù´Â ¹®ÀÚ¿­°ú ¹ÙÀÌÆ® ½ºÆ®¸²À» ´Ù¸£°Ô Ãë±ÞÇÕ´Ï´Ù. ÀÚ¹ÙÀÇ ½ºÆ®¸µÀº À¯´ÏÄÚµåÀÇ ¹®ÀÚ¼ÂÀ» »ç¿ëÇÏ¸ç ¹®ÀÚ¿­À» ÆÄÀÏ¿¡ ¾²°Å³ª ³×Æ®¿öÅ©·Î Àü¼ÛÇÏ´Â µî ½ÇÁ¦ ÀÔÃâ·ÂÀÌ ÀϾ ¶§´Â ¹®ÀÚ¿­À» ¹ÙÀÌÆ® ½ºÆ®¸²À¸·Î º¯È¯ÇÏ°Ô µË´Ï´Ù. ÀÌ ¶§ ¹ÙÀÌÆ® ½ºÆ®¸²À¸·Î º¯È¯ÇÏ´Â ±ÔÄ¢ÀÌ ÀÎÄÚµùÀÔ´Ï´Ù. µû¶ó¼­ ¹ÙÀÌÆ® ½ºÆ®¸²À¸·Î Àü´ÞµÈ °ÍÀ» ¹®ÀÚ¿­·Î ¹Ù²Ù°Å³ª ¹®ÀÚ¿­À» ¹ÙÀÌÆ® ½ºÆ®¸²À¸·Î Àü´ÞÇÒ ¶§´Â ¹Ýµå½Ã ÀÎÄÚµùÀ» ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù.

ÀÌ·± ÀÎÄÚµù Áß ÇѱÛÀ» Ç¥ÇöÇÒ ¼ö ÀÖ´Â ÀÎÄÚµùÀº ÀÚ¹Ù¿¡¼­ »ç¿ëÇÏ´Â À̸§À» ±âÁØÀ¸·Î Çϸé EUC-KR, MS949, UTF-8, UTF-16 Á¤µµ°¡ ÀÖ½À´Ï´Ù. EUC-KRÀº KSC5601-1987 ±â¹Ý ÀÎÄÚµùÀ¸·Î ÇѱÛÀÇ ¸ðµç ¹®ÀÚ¸¦ ´Ù Ç¥ÇöÇÒ ¼ö ¾ø½À´Ï´Ù. MS949´Â EUC-KRÀ» È®ÀåÇØ ¸ðµç ÇѱÛÀ» Ç¥ÇöÇÒ ¼ö ÀÖÁö¸¸ ºñÇ¥ÁØÀ̰í ÄÚµå ÀÚü¿¡ ±â¼úÀûÀÎ °áÇÔÀÌ ¸¹½À´Ï´Ù. UTF-8°ú UTF-16Àº À¯´ÏÄÚµåÀÇ ÀÎÄÚµùµéÀÌ¸ç ¸ðµç ÇѱÛÀ» Ç¥ÇöÇÒ ¼ö ÀÖ°í Ç¥ÁØÀ̸ç ÇÑ±Û ÀÌ¿ÜÀÇ ´Ù¸¥ ¾ð¾î¿Í ÇÔ²² Ç¥ÇöÀÌ °¡´ÉÇÕ´Ï´Ù.

º¸Åë ¸¹ÀÌ ¾²ÀÌ´Â EUC-KRÀº RFC Ç¥ÁØ ÀÎÄÚµùÀ̱ä Çϳª ÇѱÛÀÇ È®Àå ¹®ÀÚµéÀ» Á¦´ë·Î Ç¥½ÃÇÏÁö ¸øÇÕ´Ï´Ù. ±×·¡¼­ ÀÚ¹Ù À¥ ÇÁ·Î±×·¡¹Ö¿¡¼­´Â MS949¸¦ ¸¹ÀÌ ¾²°Ô µË´Ï´Ù. ÀÚ¹Ù¿¡¼­ ½ºÆ®¸µ °´Ã¼¸¦ »ý¼ºÇÒ ¶§´Â ÀÌ Áß¿¡ Çϳª·Î ÀÎÄÚµùÀ» Á༭ »ý¼ºÇØ¾ß ÇѱÛÀ» Ç¥ÇöÇÒ ¼ö ÀÖ°Ô ÀÎÄÚµùµË´Ï´Ù.

À¥¼­¹ö·Î Àü´ÞµÇ´Â ¿äûÀº Ŭ¶óÀ̾ðÆ®ÀÇ À¥ºê¶ó¿ìÀú°¡ ¹®ÀÚ¿­À» ¹ÙÀÌÆ® ½ºÆ®¸²À¸·Î ÀÎÄÚµùÇϴµ¥ ÀÌ ¶§ »ç¿ëÇÏ´Â ÀÎÄÚµùÀº ÀϹÝÀûÀ¸·Î ÇÑ±Û À©µµ¿ìÀÇ ±âº» ÀÎÄÚµùÀÎ MS949ÀÔ´Ï´Ù. ±×·±µ¥ ¼­ºí¸´ ¿£Áø¿¡¼­ ¿äûÀ» ó¸®ÇÏ´Â µ¥ »ç¿ëÇÏ´Â ±âº» ÀÎÄÚµùÀÌ ISO-8859-1À̱⠶§¹®¿¡ ¾Æ¹« °Íµµ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é MS949·Î ÀÎÄÚµùµÈ ¹ÙÀÌÆ®µéÀ» ISO-8859-1 ÀÎÄÚµùÀÇ ½ºÆ®¸µ °´Ã¼·Î ¸¸µé±â ¶§¹®¿¡ ÇѱÛÀÌ ±úÁ®º¸ÀÌ°Ô µË´Ï´Ù. µû¶ó¼­ ±âº» ÀÎÄÚµùÀ» MS949·Î ÁöÁ¤Çϸé ÀÎÄÚµùÀÌ º¸Á¸µÈ »óÅ·ΠÇѱÛÀÌ ±úÁöÁö ¾Ê°Ô µË´Ï´Ù. HttpServletRequest.setCharacterEncoding() ¸Þ½îµå¿¡¼­ À̰ÍÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

±×·¯³ª À̰Ϳ¡µµ ¾à°£ ¹®Á¦°¡ ÀÖ½À´Ï´Ù. ¼­ºí¸´ ½ºÆå»ó ÀÌ ¸Þ½îµå´Â POST ¿äû¿¡¸¸ Àû¿ëµË´Ï´Ù. Áï, POST ¿äûÀÇ ÆÄ¶ó¹ÌÅÍ´Â setCharacterEncdoing¿¡¼­ ÁöÁ¤ÇÑ ÀÎÄÚµùÀ¸·Î ½ºÆ®¸µ °´Ã¼°¡ »ý¼ºµÇ±â ¶§¹®¿¡ ÇѱÛÀ» º¸Á¸ÇÒ ¼ö ÀÖÀ¸³ª GET ¿äûÀº setCharacterEncodingÀÇ Àû¿ëÀ» ¹ÞÁö ¾Ê±â ¶§¹®¿¡ GETÀ¸·Î ¹ÞÀº ÆÄ¶ó¹ÌÅÍ´Â ÀÎÄÚµù º¯È¯À» ´Ù½Ã ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù. ´Ù¸¸, À̰ÍÀº ¼­ºí¸´ ¿£Áø¿¡ µû¶ó ´Ù¸¨´Ï´Ù. ÅèĹÀÇ °æ¿ìµµ 4.1 ¹öÀü°ú 5.0 ¹öÀüÀÌ ´Ù¸£°Ô µ¿ÀÛÇÏ´Ï ÁÖÀǰ¡ ÇÊ¿äÇÕ´Ï´Ù.

À¥¼­¹ö¿¡¼­ ´Ù½Ã Ŭ¶óÀÌ¾ðÆ®·Î ÀÀ´äÇÒ ¶§´Â ¹Ý´ëÀÇ °úÁ¤ÀÔ´Ï´Ù. ÀÚ¹ÙÀÇ ½ºÆ®¸µ °´Ã¼°¡ ¹ÙÀÌÆ® ½ºÆ®¸²À¸·Î º¯È¯µÇ¸ç ÀÌ ¶§ ¿ª½Ã ÀÎÄÚµùÀ» ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ ÀÎÄÚµùÀº JSP ÆäÀÌÁö¿¡¼­ ÆäÀÌÁö Áö½ÃÀÚÀÇ pageEncoding ¼Ó¼ºÀ» ÅëÇØ ÁöÁ¤ÇÒ ¼ö ÀÖ°í, ¼­ºí¸´ 2.4 ½ºÆå¿¡¼­´Â HttpServletResponse.setCharacterEncodingÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. HTTP ¿äûÀ» Àд °úÁ¤°ú ¿ª¼øÀ̶ó°í »ý°¢ÇÏ¸é µË´Ï´Ù.

±×¸®°í À¥ ¼­¹ö¿¡¼­ ¿äûÀ» ÀÐÀ» ¶§ MS949¸¦ ÁöÁ¤ÇØ ÁÖµíÀÌ Å¬¶óÀ̾ðÆ®ÀÇ À¥ ºê¶ó¿ìÀúµµ À¥ ¼­¹ö¿¡¼­ »ý¼ºÇÑ ÀÀ´äÀ» Á¤È®ÇÏ°Ô ÀÐÀ¸·Á¸é ¾î¶² ÀÎÄÚµùÀ» »ç¿ëÇØ¾ß ÇÏ´ÂÁö ¾Ë¾Æ¾ß ÇÕ´Ï´Ù. À̰ÍÀ» ÁöÁ¤ÇØÁÖ´Â °ÍÀÌ HTMLÀÇ Content-TypeÀÔ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

<meta http-equiv="Content-Type" content="text/html;charset=euc-kr" />

¿©±â¼­ ÁöÁ¤ÇÏ´Â charsetÀº ¿øÄ¢ÀûÀ¸·Î´Â ´ç¿¬È÷ À¥ ¼­¹ö¿¡¼­ ÀÀ´ä °´Ã¼¸¦ »ý¼ºÇÒ ¶§ ÁöÁ¤ÇÑ ÀÎÄÚµù °ª°ú °°¾Æ¾ß Çѱ۷ΠÁ¦´ë·Î ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ¿©±â ÁöÁ¤ÇÏ´Â charsetÀÌ RFC Ç¥ÁØ ¹®ÀÚ¼ÂÀÌ ¾Æ´Ò °æ¿ì ºê¶ó¿ìÀú¿¡ µû¶ó ÀνÄÇÏÁö ¸øÇÒ ¼öµµ ÀÖ½À´Ï´Ù. µû¶ó¼­ MS949·Î ÀÎÄÚµùÇß´Ù¸é MS949¸¦ ÁöÁ¤ÇØ¾ß Á¤»óÀÌÁö¸¸ MS949°¡ RFC Ç¥ÁØÀÌ ¾Æ´Ï±â ¶§¹®¿¡ ¹®Á¦°¡ »ý±æ ¼ö ÀÖ½À´Ï´Ù.

±×·¸´Ù°í ÀÀ´äÀÇ ÀÎÄÚµùÀ» EUC-KR·Î ÁöÁ¤ÇÏ°Ô µÇ¸é È®Àå ÇѱÛÀ» Ç¥½ÃÇÒ ¼ö ¾ø±â ¶§¹®¿¡ ¹®Á¦°¡ µË´Ï´Ù. ±×·¡¼­ ÆäÀÌÁö ÀÎÄÚµùÀº MS949·Î ÇÏÁö¸¸ Content-Type¿¡´Â euc-krÀ» ÁöÁ¤ÇØ ÁÖ°Ô µÇ´Â °ÍÀÔ´Ï´Ù. ¹°·Ð ÀÌ·¸°Ô µÇ¸é °æ¿ì¿¡ µû¶ó È®Àå ÇѱÛÀÌ ±úÁú ¼ö ÀÖÁö¸¸ ´ÙÇེ·´°Ôµµ ´ëºÎºÐÀÇ ºê¶ó¿ìÀú¿¡¼­ ÀÌ·¸°Ô ÁöÁ¤Çϸé Àß µ¿ÀÛÇÕ´Ï´Ù.

»ç½Ç ÀÌ ºÎºÐÀº ÀÀ´ä ½ºÆ®¸²¿¡ Àû¿ëµÇ´Â ÀÎÄÚµù°ú HTML Content-Type¿¡ ÁöÁ¤ÇÏ´Â ÀÎÄÚµùÀÌ °°±â¸¸ ÇÏ¸é µÇ±â ¶§¹®¿¡ ±»ÀÌ MS949¸¦ »ç¿ëÇÒ ÇÊ¿ä´Â ¾ø°í UTF-8 µîÀÇ ÀÎÄÚµùÀ» »ç¿ëÇØµµ ¹«¹æÇÕ´Ï´Ù. µû¶ó¼­ ÀÀ´ä ½ºÆ®¸²ÀÇ ÀÎÄÚµùµµ UTF-8·Î Çϰí Content-Typeµµ UTF-8·Î ÁöÁ¤ÇÏ´Â °ÍÀÌ °¡Àå È®½ÇÇÑ ¹æ¹ýÀÏ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ, HTMLÀÇ Content-Type¿¡ UTF-8ÀÌ ÁöÁ¤µÇ¾î ÀÖÀ¸¸é ÀÌ ÆäÀÌÁö¿¡¼­ ÆûÀ» Àü¼ÛÇÒ °æ¿ì¿¡µµ UTF-8·Î ÀÎÄÚµùµÇ¾î ¿äûÀ» ÆÄ½ÌÇÏ´Â ÂÊ¿¡¼­µµ UTF-8À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

À¯´ÏÄÚµåÀÇ ÀÎÄÚµùµéÀÎ UTF-8, UTF-16Àº ÇÑ ÀÎÄÚµùÀ¸·Î ´Ù±¹¾î¸¦ ó¸®ÇÒ ¼ö Àֱ⠶§¹®¿¡ ´Ù±¹¾î Áö¿øÀÌ ÇÊ¿äÇÑ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀº ½ÇÁ¦·Î UTF-8·Î ÀÛ¼ºµÈ °ÍÀÌ ¸¹½À´Ï´Ù. ´Ù±¹¾î Áö¿øÀÌ ÇÊ¿ä ¾ø´Ù°í ÇØµµ UTF-8À» »ç¿ëÇÏ´Â °ÍÀÌ ¿ÀÈ÷·Á ÇÑ±Û ¹®Á¦¸¦ ´õ ½±°Ô ÇØ°áÇÏ´Â ¹æ¹ýÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù.

À¥ »Ó ¾Æ´Ï¶ó µ¥ÀÌÅͺ£À̽º³ª ÆÄÀÏ¿¡ ÀÔÃâ·ÂÀ» ÇÒ ¶§µµ ¸¶Âù°¡ÁöÀÇ ¿ø¸®°¡ Àû¿ëµË´Ï´Ù. »ç¿ëÇÏ´Â ÀÎÄÚµùÀÌ ´Ù¸£¸é º¯È¯ °úÁ¤À» °ÅÃÄ¾ß ÇÕ´Ï´Ù. À̰ÍÀº ¸®´ª½º³ª À¯´Ð½º¿¡¼­ ¹®Á¦°¡ µÉ ¼ö ÀÖ½À´Ï´Ù. ¸®´ª½º´Â MS949¸¦ Áö¿øÇÏÁö ¾Ê°í EUC-KR¸¸ Áö¿øÇϱ⠶§¹®ÀÔ´Ï´Ù. µû¶ó¼­ À©µµ¿ì¿¡¼­ °³¹ßÇÏ°í ¸®´ª½º¿¡¼­ µ¹¸®´Â °æ¿ì ¹®Á¦°¡ µÇ´Â °æ¿ì°¡ °£È¤ ÀÖ½À´Ï´Ù.

MS949°¡ ¶Ç Çϳª ¹®Á¦°¡ µÇ´Â ¿µ¿ªÀº XML ÆÄ¼­ÀÔ´Ï´Ù. ÇöÀç °¡Àå ³Î¸® »ç¿ëµÇ´Â XML ÆÄ¼­´Â XercesÀε¥ ÀÌ ÆÄ¼­´Â RFC Ç¥ÁØ ¹®Àڼ ¿Ü¿¡´Â Áö¿øÇÏÁö ¾Ê±â ¶§¹®¿¡ MS949 ÀÎÄÚµùÀº ÆÄ½Ì ¿¡·¯°¡ ³³´Ï´Ù. ±×·± ¹Ý¸é JDK 1.4¿¡ Æ÷ÇÔµÈ ÆÄ¼­ÀÎ CrimsonÀº ³×ÀÓ½ºÆäÀ̽º ÆÄ½Ì¿¡ ¹ö±×°¡ ÀÖ½À´Ï´Ù. MS949¸¦ XML ÀÎÄÚµùÀ¸·Î ¾µ °æ¿ì XML ÆÄ¼­ ¼±ÅÃÀÌ ¹®Á¦°¡ µÉ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù.

´ÙÇེ·´°Ôµµ JDK 5.0¿¡ Æ÷ÇÔµÈ ÆÄ¼­´Â Xerces¸¦ ½ã¿¡¼­ ÆÐÄ¡ÇÑ °ÍÀε¥ À̰ÍÀº ¾Æ¹« ¹®Á¦°¡ ¾ø½À´Ï´Ù. ÇÏÁö¸¸ ¿©ÀüÈ÷ ¸¹Àº ¿ÀǼҽº ¶óÀ̺귯¸®µéÀÌ Xerces¸¦ »ç¿ëÇϰí Àֱ⠶§¹®¿¡ ¹®Á¦°¡ µÇ´Â °æ¿ì´Â °è¼Ó ³ªÅ¸³¯ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ°Í ¶§¹®¿¡¶óµµ UTF-8À» »ç¿ëÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.

ÀÚ¹Ù¿¡¼­ÀÇ ÇÑ±Û ¹®Á¦´Â ¹®ÀÚ¿­°ú ¹ÙÀÌÆ® ½ºÆ®¸²ÀÇ º¯È¯¿¡ ÀÎÄÚµùÀÌ ÁÖ¾îÁ®¾ß ÇÑ´Ù´Â »ç½Ç¸¸ »ý°¢ÇÏ¸é ´Ù ½±°Ô ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿ª½Ã ±âº»ÀÌ Àß °®ÃçÁ® ÀÖÀ¸¸é ÇÑ±Û ¹®Á¦µµ ½±°Ô ÇØ°áÇÒ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù.

URL ÀÎÄÚµå
URL ÀÎÄÚµùÀÌ ÇÊ¿äÇÑ °ÍÀº URL¿¡ »ç¿ë °¡´ÉÇÑ ¹®ÀÚ°¡ Á¦ÇѵǾî Àֱ⠶§¹®ÀÔ´Ï´Ù. URL ½ºÆå(RFC 1738)¿¡ Á¤ÀÇµÈ ¹Ù·Î´Â URL¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¹®ÀÚ´Â ¾ËÆÄºª, ¼ýÀÚ¿Í ¸î °¡ÁöÀÇ Æ¯¼ö¹®ÀÚ»ÓÀÔ´Ï´Ù. µû¶ó¼­ ´Ù¾çÇÑ ¹®ÀÚ¸¦ URL·Î Àü´ÞÇÏ·Á¸é URL¿¡¼­ Çã¿ëÇÏ´Â ¹®ÀÚ·Î º¯È¯ÇØ Àü´ÞÇØ¾ß ÇÕ´Ï´Ù. À̰ÍÀº GET ¿äûÀÇ ÆÄ¶ó¹ÌÅÍ·Î °ªÀ» Àü´ÞÇÏ·ÁÇÒ ¶§ ¹®Á¦°¡ µË´Ï´Ù.

¿¹¸¦ µé¾î http://website.com/process.jsp¿¡ ·Î±×ÀεÇÁö ¾ÊÀº »óÅ¿¡¼­ Á¢±ÙÇϸé ÀÚµ¿À¸·Î ·Î±×ÀÎ ÆäÀÌÁöÀÎ http://website.com/login.jsp·Î ¸®´ÙÀÌ·ºÆ®µÈ ÈÄ ·Î±×ÀÎÀ» ÇÏ¸é ¿ø·¡ ¿äûÇß´ø ÆäÀÌÁö·Î ´Ù½Ã ¸®´ÙÀÌ·ºÆ®µÇµµ·Ï ÇØ¾ß ÇÑ´Ù°í ÇսôÙ.

±×·¯¸é /process.jsp¿¡¼­´Â ·Î±×ÀÎ ÆäÀÌÁö·Î ¸®´ÙÀÌ·ºÆ®½ÃŰ¸é¼­ ÆÄ¶ó¹ÌÅÍ·Î ÇöÀç ¿äûÇÑ URL, Áï /process.jsp¸¦ ³Ñ°ÜÁÖ°í login.jsp¿¡¼­´Â ·Î±×ÀΠ󸮰¡ ³¡³­ ÈÄ ÀÌ URL·Î ´Ù½Ã ¸®´ÙÀÌ·ºÆ®½ÃŰ¸é µË´Ï´Ù. ¿©±â¼­ /process.jsp¿¡¼­´Â http://website.com/login.jsp?redirect=http://website.com/process.jsp¿Í °°Àº Çü½ÄÀ¸·Î ¸®´ÙÀÌ·ºÆ®¸¦ ÇØÁÖ¸é µÉ °ÍÀÔ´Ï´Ù.

¿©±â¼­ ¹®Á¦´Â redirect ÆÄ¶ó¹ÌÅÍÀÇ °ªÀÌ URLÀ̱⠶§¹®¿¡ URL ¾È¿¡ URLÀÌ µé¾î°£ ÇüŰ¡ µÇ¾î Á¦´ë·Î ÆÄ½ÌµÇÁö ¾Ê´Â´Ù´Â °ÍÀÔ´Ï´Ù. ±×·¡¼­ ÆÄ¶ó¹ÌÅÍ·Î ³Ñ°Ü¾ß ÇÏ´Â URL ºÎºÐÀ» URLEncoder·Î ÀÎÄÚµùÇØ http://website.com/login.jsp?redirect=http%3A%2F%2Fwebsite.com%2Fprocess.jsp¿Í °°Àº ÇüÅ·Π³Ñ°Ü¾ß ÇÕ´Ï´Ù. ÀÌ °ªÀ» ¹Þ´Â ºÎºÐ¿¡¼­´Â ´Ù½Ã µðÄÚµùÀ» ÇØÁÙ Çʿ䰡 ¾ø½À´Ï´Ù.

URLÀº ÀÚµ¿À¸·Î À¥ ¼­¹ö¿¡¼­ ÆÄ½ÌÇÒ ¶§ µðÄÚµùÀ» ÇØÁֱ⠶§¹®ÀÔ´Ï´Ù. URLÀ» ÅëÇØ GET ¿äûÀÇ ÆÄ¶ó¹ÌÅÍ·Î º¸³»¾ß ÇÏ´Â °ªÀº ¹Ýµå½Ã URL ÀÎÄÚµùÀ» °ÅÃÄ¾ß ÇÑ´Ù´Â »ç½Ç¸¸ ±â¾ïÇϼ¼¿ä. Âü°í·Î ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼­µµ escape, unescape ÇÔ¼ö¸¦ ÅëÇØ URL ÀÎÄÚµù, µðÄÚµù°ú À¯»çÇÑ ÀÛ¾÷À» ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.

Ŭ·¡½ºÆÐ½ºÀÇ ¸®¼Ò½º »ç¿ë¹ý
À¥ ¾ÖÇø®ÄÉÀ̼ÇÀº º¸Åë ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¼³Á¤À» ´ã°í ÀÖ´Â ÆÄÀÏÀÌ ÇÊ¿äÇÕ´Ï´Ù. web.xml, struts-config.xml µîÀÇ ¼³Á¤ ÆÄÀϵéÀº º¸Åë À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ /WEB-INF/¿¡ À§Ä¡Çϴµ¥ ±× ¿Ü¿¡ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ »ç¿ëÇÏ´Â ÆÄÀϵéÀº ¾îµð¿¡ ³õ°í »ç¿ëÇÏ´Â °ÍÀÌ Æí¸®ÇÒ±î¿ä? °¡Àå °ü¸®Çϱ⠽±°í ºÎ°¡ÀûÀÎ ÀÛ¾÷ÀÌ ÀûÀº ¹æ¹ýÀº Ŭ·¡½º ÆÐ½º¿¡ µÎ´Â °ÍÀÔ´Ï´Ù. /WEB-INF/classes¿¡ µÎ¸é ÀÚ¹ÙÀÇ Å¬·¡½º ·Î´õ¸¦ ÀÌ¿ëÇØ ÀÌ·± ÆÄÀϵ鿡 Á¢±ÙÇÒ ¼ö ÀÖ½À´Ï´Ù. log4j µî ¸¹Àº ¶óÀ̺귯¸®µéÀÌ ÀÚ½ÅÀÇ ¼³Á¤ ÆÄÀÏÀ» Ŭ·¡½º ÆÐ½º¿¡¼­ °¡Àå ¸ÕÀú ã°Ô µË´Ï´Ù. <¸®½ºÆ® 7>ÀÇ ¿¹Á¦¸¦ º¼±î¿ä.

 <¸®½ºÆ® 7> Ŭ·¡½ºÆÐ½ºÀÇ ÆÄÀÏ Àбâ

ÀÌ ÄÚµå´Â Ŭ·¡½º ÆÐ½º¿¡¼­ config.xmlÀ» ÀнÀ´Ï´Ù. À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ±âº» Ŭ·¡½º ÆÐ½º´Â /WEB-INF/classesÀ̹ǷΠ±âº»ÀûÀ¸·Î ¿©±â¼­ ã°Ô µË´Ï´Ù. À̰ÍÀ¸·Î jar ÆÄÀÏ ¾ÈÀÇ ³»¿ëµµ ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì´Â ClassLoader.getResourceAsStreamÀ» ÅëÇØ ½ºÆ®¸²À¸·Î ÆÄÀÏ ³»¿ëÀ» ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù.

´ëºÎºÐÀÇ IDE³ª maven µîÀÇ ºôµå Åø¿¡¼­´Â ¼Ò½º °æ·Î¿¡ ÀÖ´Â ÆÄÀÏ Áß ÀÚ¹Ù ¼Ò½º°¡ ¾Æ´Ñ ÆÄÀϵéÀ» ÀÚµ¿À¸·Î Ŭ·¡½º ÆÐ½º·Î º¹»çÇØÁֹǷΠÀÌ¿ëÇϱ⵵ Æí¸®ÇÕ´Ï´Ù. ÀÚÄ«¸£Å¸ÀÇ commons-discovery ÇÁ·ÎÁ§Æ®´Â ÀÌ·± ±â´ÉµéÀ» ¸ð¾Æ¼­ Æí¸®ÇÏ°Ô ÀÌ¿ëÇÒ ¼ö ÀÖ°Ô Á¦°øÇϰí ÀÖ½À´Ï´Ù.

¼­ºí¸´/¾×¼Ç ¸â¹ö º¯¼ö °øÀ¯ ¹®Á¦
JSP°¡ º¸±ÞµÇ±â ½ÃÀÛÇÏ´ø Ãʱ⿡ ¸¹ÀÌ ¹ß»ýÇÏ´ø ¹®Á¦·Î À¥ »çÀÌÆ® ÀÌ¿ëÀÚ°¡ Á¢¼ÓÇßÀ» ¶§ ÀÚ½ÅÀÇ Á¤º¸°¡ ¾Æ´Ñ ´Ù¸¥ »ç¶÷ÀÇ Á¤º¸°¡ ³ªÅ¸³ª¸é¼­ ¾ûŰ´Â °æ¿ì°¡ ÀÖ¾ú½À´Ï´Ù. À̰ÍÀÇ ¿øÀÎÀº ¼­ºí¸´¿¡ ´ëÇÑ ÀÌÇØ°¡ ºÎÁ·Çؼ­ ¹ß»ýÇÑ °ÍÀ̾ú½À´Ï´Ù. <¸®½ºÆ® 8>À» º¾½Ã´Ù.

 <¸®½ºÆ® 8> ¸â¹ö º¯¼ö°¡ °øÀ¯µÇ´Â ¼­ºí¸´

¾óÇÍ º° ¹®Á¦°¡ ¾ø¾î º¸ÀÌÁö¸¸ ÀÌ ÄÚµå´Â ½É°¢ÇÑ ¹®Á¦°¡ ÀÖ½À´Ï´Ù. ¼­ºí¸´Àº º¸Åë ¼­ºí¸´ ¿£Áø¿¡¼­ Çϳª¸¸ »ý¼ºµÇ°í ÇÑ ¹ø »ý¼ºµÈ ¼­ºí¸´ °´Ã¼°¡ °è¼Ó ÀçȰ¿ëµË´Ï´Ù. ¶§¹®¿¡ A¿Í B¶ó´Â µÎ »ç¿ëÀÚ°¡ µ¿½Ã¿¡ ÀÌ ¼­ºí¸´À» È£ÃâÇÏ°Ô µÇ¸é AÀÇ È£ÃâÀ» ¼öÇàÇÏ´Â Áß¿¡ BÀÇ È£ÃâÀÌ userInfoÀÇ °ªÀ» ¹Ù²ã¹ö¸± ¼ö ÀÖ½À´Ï´Ù. ±×·¯¸é A´Â BÀÇ Á¤º¸¸¦ º¸°Å³ª ±× ¹Ý´ëÀÇ °æ¿ì°¡ »ý±æ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù.

È¥ÀÚ¼­ Å×½ºÆ®ÇÒ ¶§´Â ÇÑ ¹ø¿¡ ÇÑ ¾²·¹µå¸¸ service ¸Þ½îµå¸¦ È£ÃâÇϱ⠶§¹®¿¡ ÀÌ·± ¹®Á¦°¡ Àß µå·¯³ªÁö ¾Ê±â ¶§¹®¿¡ º° ¹®Á¦ ¾ø´Â ÁÙ ¾Ë°í ÀÖ´Ù°¡ ¼­ºñ½º¸¦ ¿ÀÇÂÇÏ°í ³ª¸é ¹®Á¦°¡ µÇ´Â °æ¿ì°¡ ÀÖÀ¸¹Ç·Î Á¶½ÉÇØ¾ß ÇÕ´Ï´Ù. JSP¿¡¼­ <%! %>¸¦ ÅëÇØ ¼±¾ðÇÏ´Â ³»¿ëµµ ¸¶Âù°¡Áö ¹®Á¦°¡ ¹ß»ýÇϹǷΠÁÖÀÇÇØ¾ß ÇÕ´Ï´Ù. ÀÌ·± ³»¿ë ¿ª½Ã Àڹ٠Ŭ·¡½º¿Í ¸â¹ö º¯¼öÀÇ ±âº» °³³äÀ» ÀÌÇØÇÏ°í ¼­ºí¸´ ½ºÆå¸¸ ÇÑ ¹ø Àо´Ù¸é ±Ý¹æ ¾Ë ¼ö ÀÖ´Â ³»¿ëÀÔ´Ï´Ù.

»ý°¢Çϱâ
ÀÌ ³»¿ëÀ» ÀÐÀ¸¸é¼­ ¸ð¸£´Â ³»¿ëÀÌ Çϳªµµ ¾ø¾ú´Ù¸é ÀÚ¹Ù À¥ ÇÁ·Î±×·¡¸Ó·Î¼­ ¾î´À Á¤µµ ±âº»Àº µÇ¾î ÀÖ´Ù°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·± ³»¿ëÀº ±× ÇϳªÇϳª¿¡ ´ëÇÑ Áö½ÄÀ» ½×´Â °Íµµ Áß¿äÇÏÁö¸¸ ´õ Áß¿äÇÑ °ÍÀº ÀÌ·± ³»¿ëÀ» ¾Ë¾Æ¾ß ÇÑ´Ù´Â »ç½ÇÀ» ¾Æ´Â °ÍÀÔ´Ï´Ù.

¹«¾ùÀ» ¾Ë¾Æ¾ß Çϴ°¡¸¦ °¡¸£ÃÄÁÖ´Â °ÍÀº ½ºÆåÀÔ´Ï´Ù. ½ºÆå ¹®¼­µéÀº ´ëºÎºÐ ¿µ¾îÀÌ°í ±×´ÙÁö Ä£ÀýÇÏ°Ô µÇ¾î ÀÖÁø ¾ÊÁö¸¸ ÇØ´ç ºÐ¾ß¿¡ ´ëÇØ °¡Àå Á¤È®ÇÑ Á¤º¸¸¦ ´ã°í ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀ» ´Ù ¾ËÁø ¸øÇÏ´õ¶óµµ ½ºÆå¿¡ ¾î¶² ³»¿ëÀÌ ÀÖ´ÂÁö ¾Ë¾Æ¾ß ±× ³»¿ë Áß Àڽſ¡°Ô ÇÊ¿äÇÑ ³»¿ëÀ» ã¾Æ¼­ °øºÎÇÒ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù. ÀÌ·± Á¤º¸¸¦ ¾îµð¼­ ãÀ» ¼ö Àִ°¡¸¦ ¾Ë°í ÀÖ´Â °Íµµ Áß¿äÇÕ´Ï´Ù. ±âº»ÀûÀ¸·Î www.ietf.org, jcp.org,java.sun.com, www.w3.org Á¤µµÀÇ »çÀÌÆ®¿¡´Â Àͼ÷ÇØÁö´Â °Ô ÁÁÀ» °ÍÀÔ´Ï´Ù.

¸¹Àº ÇÁ·Î±×·¡¸ÓµéÀÌ ½ÇÁ¦·Î Àڱ⠼ÕÀ¸·Î ÇÁ·Î±×·¡¹ÖÇØº¸´Â °Ô ½Ç·ÂÀÌ ´À´Â Á¦ÀÏ ÁÁÀº ¹æ¹ýÀ̶ó°í ¸»ÇÏÁö¸¸ ÇÊÀÚ´Â ¿©±â¿¡ µ¿ÀÇÇÏÁö ¾Ê½À´Ï´Ù. ¹°·Ð, ½ÇÁ¦ °æÇèÀ» ½×´Â °ÍÀÌ ÇʼöÀûÀÎ °úÁ¤À̱ä ÇÕ´Ï´Ù. ±×·¯³ª ±âº» Áö½ÄÀ» µîÇѽÃÇÑ »óÅ¿¡¼­ ÄÚµù¸¸ ÇØº¸´Â °ÍÀ¸·Î´Â ½Ç·ÂÀÌ Àß ´ÃÁö ¾Ê½À´Ï´Ù.

ÄÚµù ±â¼úÀº ´Ã ¼ö ÀÖ°ÚÁö¸¸ Á¤¸» ½ÇÁ¦ ¼­ºñ½º¸¦ ÇØ¾ß ÇÏ´Â ÇÁ·Î±×·¡¹Ö¿¡¼­ Áß´ëÇÑ ½Ç¼ö¸¦ ÀúÁö¸£°Ô µÇ°Å³ª ³²µéÀÌ ½±°Ô ÇÏ´Â ÀϵéÀ» ¾î·Æ°Ô ºù µÑ·¯°¡¸é¼­ ÇÏ°Ô µÉ ¼ö ÀÖ½À´Ï´Ù. ±×·¡¼­ ±âº»±â¸¦ °®Ãß´Â °ÍÀÌ Áß¿äÇÑ °ÍÀÔ´Ï´Ù.

°ÅµìÇØ¼­ ±âº»ÀÇ Á߿伺À» °­Á¶Çߴµ¥ ÇÑ °¡Áö µ¡ºÙÀÌ°í ½ÍÀº ¸»Àº ÀÌ·± ±âº» Áö½Ä »Ó ¾Æ´Ï¶ó ±âº»À» Ȱ¿ëÇÏ´Â ´É·ÂÀ» Ű¿ì´Â °Íµµ ÀØÁö ¸»¾Æ¾ß ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ¾Õ¼­ ¾ð±ÞÇÑ ¿¹¿Ü ó¸® °°Àº ³»¿ëÀº ±âº»À̱ä Çϳª ÀÚ¹Ù ¹®¹ý¸¸ Àß ¾È´Ù°í ¾Ë ¼ö ÀÖ´Â ³»¿ëÀº ¾Æ´Ï¸ç ±âº»À» ¹ÙÅÁÀ¸·Î ÁÁÀº ÆÇ´ÜÀ» ³»¸± ¼ö ÀÖ´Â ´É·ÂÀÌ ÀÖ¾î¾ß ÇÕ´Ï´Ù.

°á±¹ ÁÁÀº ÇÁ·Î±×·¡¸Ó°¡ µÇ·Á¸é ¸ÕÀú ÁÁÀº »ç°í ´É·ÂÀ» °¡Áö°í ÀÖ¾î¾ß ÇÏ´Â °ÍÀÔ´Ï´Ù. ±ÛÁþ±â¸¦ ÀßÇÏ´Â ¹æ¹ýÀ¸·Î ÈçÈ÷ ´Ùµ¶(ÒýÔÁ), ´ÙÀÛ(ÒýíÂ), ´Ù»ó·®(ÒýßÂÕá)À» À̾߱âÇÕ´Ï´Ù. ¸¹ÀÌ ÀÐ°í ¸¹ÀÌ ¾²°í ¸¹ÀÌ »ý°¢Ç϶ó´Â °ÍÀÔ´Ï´Ù. ÇÁ·Î±×·¡¹Öµµ ÀÌ¿Í ºñ½ÁÇÕ´Ï´Ù. °¢Á¾ ½ºÆå°ú ÁÁÀº Äڵ带 ¸¹ÀÌ Àо°í Á÷Á¢ ÄÚµùµµ ¸¹ÀÌ ÇØº¸¸é ºÐ¸í ½Ç·ÂÀÌ ´ÃÁö¸¸ À̰ÍÀ¸·Î´Â ÃæºÐÄ¡ ¾Ê½À´Ï´Ù.

ÇÁ·Î±×·¡¹ÖÀ» Çϸ鼭 ²÷ÀÓ¾øÀÌ »ý°¢ÇØ¾ß ÇÕ´Ï´Ù. Áö±Ý ÀÛ¼ºÇÑ ÄÚµå´Â ÁÁÀº ÄÚµåÀΰ¡, ÀÌ·¸°Ô ÄÚµùÇÏ¸é ºÒÆíÇѵ¥ °³¼±ÇÒ ¹æ¹ýÀº ¾øÀ»±î, ÀÌ APIµé·Î ¹«¾ùÀ» ÇÒ ¼ö ÀÖÀ»±î, °³¹ß ¼Óµµ¸¦ Çâ»ó½ÃŰ·Á¸é ¾î¶»°Ô ÇØ¾ß ÇÒ±î µî »ý°¢À» ¸¹ÀÌ ÇØ¾ß ÁøÂ¥ ¹ßÀüÀ» ÀÌ·ê ¼ö ÀÖ½À´Ï´Ù.

¸¸ÀÏ ¼Õ°¡¶ôÀÌ ¾ÆÇà Á¤µµ·Î ÇÏ·ç Á¾ÀÏ Å°º¸µå¸¦ µÎµå¸®°í ÀÖ´Ù¸é ÁÁÀº ÇÁ·Î±×·¡¸Ó¶ó°í ÇÒ ¼ö ¾ø½À´Ï´Ù. »ý°¢ÇÏ´Â µ¥ Á» ´õ ¸¹Àº ½Ã°£À» ½á¾ß ÇÕ´Ï´Ù. ¸ð´ÏÅ͸¦ ±¸ºÎÁ¤ÇÏ°Ô µé¿©´Ùº¸¸é¼­ Űº¸µå¸¦ µÎµå¸®´Â °ÍÀº °Íº¸´Ù´Â ÀÇÀÚ¿¡ Æí¾ÈÈ÷ ±â´ë¼­ »ý°¢ÇÏ´Â ½Ã°£À» ´Ã·Áº¸¼¼¿ä. º¹ÀâÇÑ ¹®Á¦°¡ ÀÖÀ¸¸é ¹Ù±ù °ø±â¸¦ ½ý¸é¼­ »êÃ¥À» Çϸ鼭 »ý°¢À» ÇÏ´Â °Íµµ ÁÁ½À´Ï´Ù. ±»ÀÌ °Ç°­À» »ý°¢ÇÏÁö ¾Ê´õ¶óµµ °È´Â °ÍÀº µÎ³ú¸¦ Ȱ¼ºÈ­Çϱ⠶§¹®¿¡ ÇØ°áÃ¥À» ´õ »¡¸® ãÀ» ¼ö ÀÖ°Ô ÇÕ´Ï´Ù.

³²µéÀÌ º¸±â¿¡´Â °ÔÀ»·¯ º¸ÀÏ ¼ö ÀÖÁö¸¸ ³î°í ÀÖ´Â °Ô ¾Æ´Ï¶ó´Â °ÍÀº °á°ú·Î ÃæºÐÈ÷ º¸¿©ÁÙ ¼ö ÀÖ½À´Ï´Ù. ¹°·Ð ÀÌ·± »ý°¢À» Àß À̾°¡±â À§Çؼ­´Â »ý°¢ÀÇ Àç·á°¡ µÇ´Â ±âº»¿¡ Ãæ½ÇÇØ¾ß ÇÔÀº ¹°·ÐÀÔ´Ï´Ù. ¾îµÒħħÇÑ ±¸¼®¿¡ ¾É¾Æ Űº¸µå¸¸ µÎµå¸®´Â ±ã(geek)ÀÌ ¾Æ´Ñ º¸´Ù Àΰ£´Ù¿î ÇÁ·Î±×·¡¸Ó°¡ µË½Ã´Ù.@

* ÀÌ ±â»ç´Â ZDNet KoreaÀÇ Á¦ÈÞ¸ÅüÀÎ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î¿¡ °ÔÀçµÈ ³»¿ëÀÔ´Ï´Ù.
°ü·Ã±â»ç
À¥ °³¹ßÀÇ ½ÅÁ¾ ¸¶¹ý¡¸´å³ÝÀ» Ç÷¡½Ã·Î¡¹
[64ºñÆ® À©µµ¿ì ÇÁ·Î±×·¡¹Ö] ¨ç 32ºñÆ® ÇÁ·Î±×·¥À» ¾öÈ£Ç϶ó
MS, ºñÁÖ¾ó º£ÀÌÁ÷ Áö¿ø Áß´Ü¡¸ºñ³­ ºÒ±¸ °­Çࡹ
[UML Á¦´ë·Î ¾Ë±â] ¨ç °¡´É¼º¡¤È®À强 ǰ°í µîÀåÇÑ UML 2.0
Áøº¸¿¡ Àå¾Ö°¡ µÇ´Â ½À°ü
[³ªÀÇ ¿ÀǼҽº ÇÁ·ÎÁ§Æ® °æÇè±â] Áñ°Å¿òÀ» ³Ñ¾î ÇູÀ̾ú´Ù
ÀÚ¹ÙÀÇ »õ·Î¿î ³¯°³, ±×·çºñ
ÀÚ¹Ù À¥¼­ºñ½º µð·ºÅ丮 ÆÐÅÏ Å½±¸
µ¶ÀÚÀÇ°ß ³²±â±â (·Î±×ÀÎ ÈÄ µ¶ÀÚ ÀǰßÀ» ³²±â½Ç ¼ö ÀÖ½À´Ï´Ù.)
¾ÆÀ̵ð ºñ¹Ð¹øÈ£
µ¶ÀÚÀǰß(Talkback)
À¥»çÀÌÆ®ÀÇ ºê¶ó¿ìÀú ȣȯ¼ºÀÌ ¶³¾îÁú »Ó¸¸ ¾Æ´Ï¶ó ÁöÀúºÐÇÑ Äڵ带 ¾ç»ê
ÀÌ»óÈÆ[ 2005/04/11 ]  
³×À̹ö´Â °ú¿¬ ºê¶ó¿ìÀú ȣȯ¼ºÀÌ ÀÖ´Â »çÀÌÆ®ÀÎÁö?
±Ã±ÝÇϱº¿ä
redirect¿¡ ÀÇÇÑ À§Çè¿ä¼Ò
[ 2005/04/07 ]  
http://website.com/login.jsp?redirect=http://website.com/process.jsp

ÀÌ·¸°Ô Çϸé website.com/login.jsp ÆäÀÌÁö´Â injection¿¡ ¾Ç¿ëµÉ ¼ÒÁö°¡ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì¿¡´Â ºñ·Ï ·Î±×ÀÎÀ» ¼º°øÇؾ߸¸ ÇØ´ç ÆäÀÌÁö·Î À̵¿ÇÑ´Ù´Â Á¦ÇÑÀÌ ÀÖÁö¸¸ ÀÌ·¯ÇÑ Á¦ÇÑÀÌ ¾ø´Â °æ¿ì website.com/login.jsp?redirect=http://hacking-site.com/crack.jsp ó·³ ¾Ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.

º¸¾ÈÀûÀÎ Ãø¸éÀÌ ¾ð±ÞµÇ¾î ÀÖÁö ¾Ê¾Æ Áö³ª°¡´Ù Àû¾îº¾´Ï´Ù.
 
 
[¼öÆÛ°³¹ßÀÚÀÇ ±æ ¨í] Çʼö ¾ÆÀÌ...
[¼öÆÛ°³¹ßÀÚÀÇ ±æ ¨è] ¿ëÀ» ¸¸³ª...
[¼öÆÛ°³¹ßÀÚÀÇ ±æ ¨ç] °¡½¿ÀÇ ²Þ...
[¼öÆÛ°³¹ßÀÚÀÇ ±æ ¨ê] ±âº»±â ¾ø...
[¼öÆÛ°³¹ßÀÚÀÇ ±æ ¨ì] ÇÁ·Î±×·¡¹Ö...
[¼öÆÛ°³¹ßÀÚÀÇ ±æ ¨é] ³ª´®°ú ±³...
[¼öÆÛ°³¹ßÀÚÀÇ ±æ ¨ë] »õ·Î¿î ½Ã...
'ÁÖÃãÁÖÃã ¼Ò´Ï' º¸±ÞÇü Ä·ÄÚ´õ ½ÃÀå »ï¼º ¸Í°ø¡¦À¯Æ©ºê ¸ÂÃãÇü 'VM-MX20C' [00:07:48]
ÁøÇà ·ùÁØ¿µ ±âÀÚ, Á¦ÀÛ À¯È¸Çö PD
[ZDNET ¿µ¹®¹æ¼Û]±¸±Û À¥ºê¶ó¿ìÀú '±¸±Û Å©·Ò' º£Å¸¹öÀü °ø°³ [00:01:29]
Áöµð³ÝÄÚ¸®¾Æ ¿µ»óÁ¦ÀÛÆÀ
¡°À¥ Ç¥ÁØÀº ¹«½¼!¡±¡¦IE8¿¡ ´ë...
°øÀÎÀÎÁõüÁ¦, ¿ì¸®¿¡°Ô ÀÓ¹ÚÇÑ ¹Ì...
³×À̹ö´Â ¿Ö '10´ë ÇØÄ¿'¿¡ ´ç...
[¼öÆÛ°³¹ßÀÚÀÇ ±æ ¨ç] °¡½¿ÀÇ ²Þ...
"¾×ƼºêX¿Í °øÁ¸ ¸ð»ö"¡¦±¸±Û, ...
'À§ÇÇ Àǹ«È­' ÆóÁö ºÐÀ§±â·Î¡¦
EMC-·¹³ëº¸, ¿Â¶óÀÎ µ¥ÀÌÅÍ ¹é...
SK C&C, ¾È»ê½Ã Áö´ÉÇü±³ÅëÁ¤...
Ä«Æä24 ¼îÇθô ÇØ¿Ü¹è¼Û '½ºÇǵå...
Çѱ¹¾îµµºñ, '¾ÖÅ©·Î¹î 9' ÇѱÛ...
LGÀüÀÚ, 8¹é¸¸ È­¼Ò ¸ÖƼ¹Ìµð¾î...
 
 
The Korean edition of 'ZDNet' is published under license from CNET Networks, Inc., San Francisco, CA, USA. Editorial items appearing in 'ZDNet Korea' that were originally published in the US Edition of 'ZDNet', 'CNET', and 'CNET News.com' are the copyright properties of CNET Networks, Inc. or its suppliers.
Copyright ¨Ï 2008 CNET Networks, Inc. All Rights Reserved. 'ZDNet', 'CNET' and 'CNET News.com' are trademarks of CNET Networks, Inc.