¼Ò¼³°°ÀºJSP1ºÎ  4Àå Core of Servlet  01 Overview  

01 Core of Servlet

 

¿©·¯ºÐÀº ÀÌ¹Ì 2Àå¿¡¼­ ¼­ºí¸´ÀÇ ±âÃÊÀûÀÎ ¸éÀ» ¾Ë¾Æ º¸¾Ò½À´Ï´Ù. ¼­ºí¸´À̶õ µ¿ÀûÀÎ ¼­¹ö ÇÁ·Î±×·¥À» Çϱâ À§ÇÑ ±âÃÊ»ó½Ä Á¤µµ·Î »ý°¢Çϸé ÁÁÀ» °ÍÀÔ´Ï´Ù. 4Àå¿¡¼­´Â ¼­ºí¸´À» ÀÌ¿ëÇÏ¿© ÇÒ ¼ö ÀÖ´Â ÀϹÝÀûÀÎ ÀÛ¾÷µé¿¡ ´ëÇØ¼­ ³íÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù. ÀÌ ÀåÀº Àüü Å׸¶ Áß½ÉÀ¸·Î ÀÌ·ç¾îÁ® ÀÖÀ¸¸ç ÀÛÀº Å׸¶µéÀº °¢°¢ÀÇ ÁÖÁ¦¿¡ ´ëÇÑ Áõ¸í°ú ±×¿¡ ´ëÇÑ ¼³¸íÀ» µ¡ºÙÀ̰í ÀÖ½À´Ï´Ù.

 

n        ¼­ºí¸´ ÀÛ¾÷ÀÇ Áß½É

¼­ºí¸´ÀÇ ÀÛ¾÷Àº ÁÖ·Î HttpServletRequest¿Í HttpServletResponse·Î ÀÌ·ç¾îÁý´Ï´Ù. ÀÌ Å¬·¡½º´Â service¸Þ¼­µå¿Í doGet, doPostÀÇ ¸Å°³º¯¼ö·Î ³Ñ¾î¿À´Â ÀÎÀÚÀÇ Å¸ÀÔÀÔ´Ï´Ù. ±×¸®°í ÀÌ ¸Å°³º¯¼ö´Â JSP¿¡¼­µµ µ¿ÀÏÇÏ°Ô Àû¿ëµË´Ï´Ù.

 

n        HttpServletRequest, HttpServletResponseÀÇ °³¿ä

Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» ¹Þ¾Æ ¼­ºí¸´ ÄÁÅ×À̳ʰ¡ HttpServletRequest°´Ã¼¸¦ ¸¸µé°í ÀÌ °´Ã¼¸¦ service¸Þ¼­µå¿¡ Àü´ÞÇÏ°Ô µË´Ï´Ù. ±×¸®°í ¼­ºí¸´¿¡¼­ ó¸®µÈ ÀÛ¾÷ÀÌ HttpServlet ResponseÀÇ °´Ã¼¸¦ ÅëÇÏ¿© Ŭ¶óÀÌ¾ðÆ®·Î ´Ù½Ã Àü¼ÛµË´Ï´Ù.

 

n        ServletRequest¿Í HttpServletRequestÀÇ ±¸ºÐ

ServletRequest¿¡¼­ HTTPÇÁ·ÎÅäÄÝ Àü¿ëÀÇ ÀÀ´äÀ» ó¸®ÇÒ ¼ö ÀÖ´Â Àü´ã ÀÎÅÍÆäÀ̽º°¡ ÇÊ¿äÇÔÀ¸·Î ÇØ¼­, È®ÀåÇÏ¿© HttpServletRequest¶ó´Â ÀÎÅÍÆäÀ̽º¸¦ µÎ°í ÀÖ½À´Ï´Ù.

 

n        ServletResponse¿Í HttpServletResponseÀÇ ±¸ºÐ

¸¶Âù°¡Áö·Î, ServletResponse¸¦ È®ÀåÇÏ¿© HTTPÇÁ·ÎÅäÄÝ Àü¿ëÀÇ HttpServletResponse¶ó´Â ÀÎÅÍÆäÀ̽º¸¦ ¸¸µé¾î µÎ°í ÀÖ½À´Ï´Ù.

 

n        Get¹æ½Ä°ú Post¹æ½Ä µ¿½Ã¿¡ ó¸®Çϱâ

Get¹æ½Ä°ú Post¹æ½ÄÀ¸·Î Ŭ¶óÀ̾ðÆ®ÀÇ Á¤º¸¸¦ ¼­ºí¸´À¸·Î Àü´ÞÇϰí Àü´ÞµÈ Á¤º¸¸¦ Ãâ·ÂÇÏ´Â °Í¿¡ ´ëÇØ¼­ ¹è¿ï °ÍÀÔ´Ï´Ù.

 

n        ¼­ºí¸´¿¡¼­ ÇѱÛó¸®ÀÇ ¿ø¸®

ÀÚ¹Ù¿¡¼­´Â À¯´ÏÄÚµå ÇÑ±Û ¹æ½ÄÀ» »ç¿ëÇÕ´Ï´Ù. UTF-16ÀÎÄÚµù ¹æ½ÄÀ¸·Î 2¹ÙÀÌÆ®¸¦ ÀÌ¿ëÇÏ¿© ÇϳªÀÇ ¹®ÀÚ¸¦ Ç¥ÇöÇÕ´Ï´Ù. Çѱۿ¡ °ü·ÃµÈ ¹®ÀÚ¿­ ÀÎÄÚµù¹æ½ÄÀº KSC5601°ú EUC_KR (euc-kr)ÀÌ ÀÖ½À´Ï´Ù. ÀÌ µÎ°¡Áö ÀÎÄÚµùÀÇ ¿ø¸® ¹× Â÷ÀÌÁ¡¿¡ ´ëÇØ¼­ ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

 

n        Get¹æ½Ä°ú Post¹æ½Ä¿¡¼­ ÇѱÛó¸®

»ç¿ëÀÚ ¿äûÁ¤º¸¸¦ ¼­ºí¸´¿¡¼­ ¹ÞÀ» ¶§ ÇѱÛÀÇ ±úÁüÀ» ¹æÁöÇϱâ À§Çؼ­ »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼­ »ìÆìº¼ °ÍÀÔ´Ï´Ù.

 

n        ¾ç½Ä Å×ÀÌÅÍ Àüü °ª Ãâ·ÂÇϱâ

¿©·¯°¡Áö Æû ¾ç½Ä¿¡ ´ëÇØ¼­ ¾Ë¾Æ º» ÈÄ ÀÌ °ªÀ» ¼­¹ö°¡ ¾ò¾î³»±â À§Çؼ­ »ç¿ëÇÏ´Â ¸Þ¼­µå¿¡ ´ëÇØ¼­ ¾Ë¾Æ º¼ °ÍÀÔ´Ï´Ù.

 

n        Çì´õ Ãâ·ÂÇϱâ

HeaderºÎºÐ¿¡ Á¸ÀçÇÏ´Â Header Namer°ú Header Value¸¦ ÃßÃâÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼­ ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

 

n        ¸Þ¼­µå¸¦ ÀÌ¿ëÇÏ¿© Çì´õ Àбâ

°¢°¢ÀÇ Çì´õ¸¦ HttpServletRequestÀÇ ¸Þ¼­µå¸¦ ÀÌ¿ëÇÏ¿© ¾ò¾î ³»´Â ¹æ¹ý¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸µµ·Ï ÇϰڽÀ´Ï´Ù.

 

n        CGIº¯¼ö¿Í ¼­ºí¸´ÀÇ ¸Þ¼­µå

Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¿¡ ´ëÇÑ ¸ðµç Á¤º¸¸¦ CGIÇÁ·Î±×·¥¿¡°Ô ¾Ë·ÁÁÖ±â À§ÇÑ ¼ö´ÜÀ¸·Î CGIº¯¼ö¶ó´Â °ÍÀ» »ç¿ëÇÕ´Ï´Ù. ¼­ºí¸´µµ ÀÌ¿Í ¸¶Âù°¡Áö·Î Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¿¡ °üÇÑ Á¤º¸¸¦ CGIº¯¼öÇü½ÄÀ¸·Î »ç¿ëÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù. ÀÌ¿¡ ´ëÇØ ¾Ë¾Æº¼ °ÍÀÔ´Ï´Ù.

 

n        Request¸Þ½ÃÁö¸¦ º¸³»¾î ÆäÀÌÁö ¹Þ±â

HttpServlet request¸¦ ÀÌ¿ëÇÏ¿© ÆäÀÌÁö¸¦ ¿äûÇÒ ¶§ Http³»ºÎ¿¡¼­ ÀϾ´Â Çö»óÀ» »ìÆìº¸°í ±× ¿ø¸® ¹× ¹æ¹ý¿¡ ´ëÇØ¼­ »ìÆìº¼ °ÍÀÔ´Ï´Ù.

 

n        GetParameterNames()

Ŭ¶óÀÌ¾ðÆ®°¡ ¼­ºí¸´À» Post¹æ½ÄÀ¸·Î getParameterNames()¸Þ¼­µå¸¦ ÀÌ¿ëÇÏ¿© ¸ðµç Parameter NameÀ» ¾ò¾î³»°í ÀÌ À̸§À» ÀÌ¿ëÇÏ¿© ParameterÀÇ °ªÀ» ÃßÃâÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¼ °ÍÀÔ´Ï´Ù.

 

n        ´Ù¸¥ ÆäÀÌÁö º¸³»±â

Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÀ´äÀ» ÇÒ ¶§ Çʿ信 µû¶ó ´Ü¼øÈ÷ ´Ù¸¥ ÆäÀÌÁö·Î À̵¿ÇØ¾ß ÇÒ °æ¿ì°¡ Àִµ¥ À̰ÍÀ» °¡´ÉÇÏ°Ô ÇØ ÁÖ´Â HttpServletResponseÀÇ sendRedirect¸Þ¼­µå¿¡ ´ëÇÏ¿© ¾Ë¾Æº¸°í ±× ¹æ¹ýÀ» »ìÆìº¸°Ú½À´Ï´Ù.

 

n        ResponseÀÇ »óÅÂ

HttpServletResponse¿¡´Â ÀÀ´äÀÇ »óŸ¦ ³ªÅ¸³»´Â ¸â¹öÇʵåµéÀ» Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù. HTTPÇÁ·ÎÅäÄݻ󿡼­ ÀÀ´äÀ» Ç¥½ÃÇÏ´Â ¸¹Àº »óŵéÀÌ Á¸ÀçÇÕ´Ï´Ù. À̰͵鿡 ´ëÇÏ¿© »ìÆì º¸°Ú½À´Ï´Ù.

 

n        Çì´õ ¼³Á¤Çϱâ

HttpResponseÀÇ setHeader¸¦ ÅëÇÏ¿© Çì´õ¸¦ ¼³Á¤Çϰí, ±× ¼³Á¤µÈ Çì´õ¿¡ µû¶ó¼­ ºê¶ó¿ìÀú°¡ ¾î¶»°Ô ¹ÝÀÀÇÏ´ÂÁö ¾Ë¾Æº¼ °ÍÀÔ´Ï´Ù.

 

n        ÀÎÁõÆäÀÌÁö ¸¸µé±â

°£´ÜÇÑ ÀÎÁõÀ» ÇÒ ¶§ À¯¿ëÇÏ°Ô ¾²ÀÏ ¼ö ÀÖ´Â Http¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â ±âº»ÀÎÁõ(basic Authorization)À» ¼­ºí¸´¿¡¼­ ÀÌ¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú½À´Ï´Ù.

 

n        ServletContext¶õ?

ÇϳªÀÇ ¼­ºí¸´ÀÌ ¼­ºí¸´ ÄÁÅ×ÀÌ³Ê¿Í Åë½ÅÇϱâ À§Çؼ­ »ç¿ëµÇ¾îÁö´Â ¸Þ¼­µåµéÀ» °¡Áö°í Àִ Ŭ·¡½º°¡ ¹Ù·Î ServletContextÀÔ´Ï´Ù. ÀÌ·¯Çå ServletContext ÀÚüÀÇ ÀǹÌÇØ ´ëÇÏ¿© ±íÀÌ »ìÆìº¼ °ÍÀÔ´Ï´Ù.

 

n        ServletContextÀÇ È°¿ë

ServletContext´Â ÇϳªÀÇ À¥¾ÖÇø®ÄÉÀ̼Ǵç Çϳª°¡ Á¸ÀçÇØ¼­, ±× À¥ÆäÀÌÁöÀÇ Á¤º¸¸¦ °¡Áö°í ÀÖÀ¸¸ç, ¶Ç ¼­ºí¸´µéÀ» Á¦¾îÇÒ ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù. ÀÌ·¯ÇÑ °øÀ¯ÀÇ Ãø¸é¿¡¼­ ServletContextÀÇ È°¿ëÀ» »ìÆìº¸°Ú½À´Ï´Ù.

 

n        RequestDespatcher-forward

RequestDespatcher´Â Ŭ¶óÀÌ¾ðÆ®·ÎºÎÅÍ ¿äû ¹ÞÀº Á¤º¸¸¦ ¼­¹öÀÇ Html, JSP ¶Ç´Â ¼­ºí¸´µîÀÇ ÀÚ¿ø¿¡ º¸³»´Â ¿ªÇÒÀ» ÇÏ´Â ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ¿ªÇÒÀ» ÇÏ´Âforward ¸Þ¼­µå¿¡ ´ëÇØ ¾Ë¾Æº¸°í ¿¹Á¦·Î Áõ¸íÇϵµ·Ï ÇϰڽÀ´Ï´Ù.

 

n        RequestDespatcher-include

RequestDespatcher´Â ¶ÇÇÑ ´Ù¸¥ ÆäÀÌÁöÀÇ ³»¿ëÀ» ÇöÀçÀÇ ÆäÀÌÁö¿¡ »ðÀÔÇÏ¿© º¸¿©ÁÙ ¼ö ÀÖ´Â include¸Þ¼­µå¸¦ Á¦°øÇÕ´Ï´Ù.

 

n        SingleThreadModel

µ¿½Ã¿¡ service() ¸Þ¼­µå°¡ È£ÃâÇÏÁö ¸øÇϵµ·Ï ¼­ºí¸´ ÄÁÅ×ÀÌ³Ê Â÷¿ø¿¡¼­ ¹æÁöÇÏ°Ô µÇ´Âµ¥ À̶§ SingleThreadModel ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ°Ô µË´Ï´Ù. ÀÌ¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú½À´Ï´Ù.

 

n        ResponseÀÇ setHeader

ÁÖ¾îÁø À̸§°ú °ªÀ¸·Î Header¸¦ ¼³Á¤ÇÒ¶§ ÀϹÝÀûÀ¸·Î ¾²ÀÌ´Â °ÍÀÌ HttpResponseÀÇ setHeader ¸Þ¼­µåÀÔ´Ï´Ù. Çì´õ¸¦ ¼³Á¤Çؼ­ ¾ò´Â ÀåÁ¡°ú ±× ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú½À´Ï´Ù.



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