[Áöµð³ÝÄÚ¸®¾Æ]¼ºí¸´°ú JSP´Â ÀÚ¹Ù¿¡¼ À¥ ÆäÀÌÁö¸¦ ´Ù·ç±â À§ÇÑ ÃÖÀûÀÇ ¼Ö·ç¼ÇÀÌ´Ù. ¼ºí¸´Àº CGI(Common Gateway Interface)¸¦ ÀÚ¹Ù¿¡¼ ¼Õ½±°Ô ¾µ ¼ö ÀÖ´Â ±æÀ» ¿¾î ÁáÀ¸¸ç, JSP´Â ÀÎÅÍ·¢Æ¼ºêÇÑ ±â¼úÀû ³»¿ëÀ» Ãß»óÈÇØ À¥ ÆäÀÌÁö¿¡ ³ì¿©³Â´Ù. ÀÌ·± ±â¼úµéÀº ¹ßÀü °úÁ¤À» °ÅÃÄ ÇöÀç ¼ºí¸´Àº 2.3, JSP´Â 1.2ÀÇ ÃÖÁ¾ ½ºÆå¿¡ À̸£·¶´Ù. ÀÌ ½ºÆåµéÀº ¼ºí¸´°ú JSP¸¦ Áö¿øÇÏ´Â À¥ ¼¹ö³ª À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹ö¿¡ ÀÇÇØ ±¸ÇöµÇ°í ÀÖÀ¸¸ç, ¼ºí¸´ 2.4¿Í JSP 2.0ÀÌ ³»³â ÃÊ¿¡ ³ª¿Ã J2EE 1.4¿¡ Æ÷Ç﵃ ¿¹Á¤À¸·Î ½ºÆåÀÌ °³¹ßÁßÀÌ´Ù. ¿©±â¿¡ JSTL(Java Standard Tag Library) °°Àº ±â¼úµéÀÌ °³¹ßȯ°æÀ» ´õ¿í dz¼ºÇÏ°Ô ÇØÁÖ°í ÀÖ´Ù. À̵éÀº À¥ ¼ºñ½º¿¡¼ÀÇ ÃÖÀü¹æÀ» ´ã´çÇÏ´Â ±â¼úµé·Î¼ À¥ ¼ºñ½º ±¸Çö¿¡ ¹Ø°Å¸§ÀÌ µÇ°í ÀÖ´Ù.
À̹ø È£¿¡¼´Â ÀÌµé ±â¼úµé¿¡ ´ëÇØ ¸ðµç °ÍÀ» ´Ù·çÁö´Â ¾Ê°Ú´Ù. ¿ö³« °ü·Ã ±â¼úµéÀÇ ¹üÀ§°¡ ³ÐÀº ¹Ý¸é Áö¸éÀº Á¦ÇѵǾî Àֱ⠶§¹®ÀÌ´Ù. ´ë½Å, ±âÃʺÎÅÍ °³³äÀûÀÎ ¸é¿¡ ´ëÇØ Â÷±ÙÂ÷±Ù ¤¾îº½À¸·Î¼ µ¶ÀÚµéÀÇ ±âº» ÀÌÇØµµ¸¦ ³ôÀÌ°í ½º½º·Î ÀÌ ±â¼úµé¿¡ ´ëÇØ °øºÎÇØ ³ª°¥ ¼ö ÀÖ´Â Åä´ë¸¦ ¸¶·ÃÇØ º¸°Ú´Ù.
À¥ ÄÁÅ×À̳ʷμÀÇ ÁøÈ¿Í J2EE
HTTP°¡ ³Î¸® ¾²À̰í CGI°¡ Á¡Â÷ ´ëÁßÈµÇ¸é¼ À¥ ºê¶ó¿ìÀú¿Í À¥ ¼¹ö¿ÍÀÇ ´Éµ¿ÀûÀÎ Á¤º¸±³È¯ÀÌ ÀÌ·ïÁ³´Ù. ÇÏÁö¸¸ CGI´Â ´ë°ÀÇ °¡À̵å¶óÀθ¸À» Á¦°øÇÒ »Ó ¼ºñ½º¸¦ È¿°úÀûÀ¸·Î Á¦°øÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ´äº¯Àº ÇØÁÖÁö ¾Ê¾Ò´Ù. ±×¸®ÇÏ¿© CGI¸¦ ü°èÀûÀ¸·Î Á¤¸®ÇÑ ´Ù¼öÀÇ ¼Ö·ç¼ÇÀÌ µîÀåÇßÀ¸¸ç ÀÚ¹Ù¿¡¼ ¼Ò°³µÈ °ÍÀÌ ¼ºí¸´ÀÌ´Ù. ¼ºí¸´Àº ³×Æ®¿öÅ© »ó¿¡¼ÀÇ ¿äû(Request)°ú ÀÀ´ä(Response)¸¦ Á» ´õ ´ÙÀ̳»¹ÍÇÏ°Ô Ã³¸®ÇÏ´Â ±â´ÉÀÌ Àִµ¥, ƯÈ÷ ü°èÀûÀ¸·Î HTTP¸¦ ÀÌ¿ëÇÑ CGI 󸮸¦ ÇÏ´Â µ¥ ÀÖ¾î¼ ¸Å¿ì È¿°úÀûÀÌ´Ù(<±×¸² 1>). ¼ºí¸´Àº JSDK(Java Servlet Development Kit)¶ó´Â °³¹ßŰƮ¸¦ ÅëÇØ ¼Ò°³µÆ°í À̶§ºÎÅͰ¡ ÀÚ¹Ù¿¡¼ º»°ÝÀûÀÎ À¥ ÄÁÅ×À̳ʷμÀÇ ÁøÈ¿¡ ´ëÇÑ Åµ¿±â¶ó°í º¼ ¼ö ÀÖ´Ù.

<±×¸²1> ¼ºí¸´ ó¸® ±¸Á¶µµ
¼ºí¸´Àº ISAPI³ª NSAPI °°ÀÌ Ç÷§Æû ȤÀº ¾ÖÇø®ÄÉÀ̼ǿ¡ ÀÇÁ¸ÀûÀÎ ±â¼úµéº¸´Ù ½¬¿ì¸é¼µµ ´Ù¾çÇÑ Ç÷§Æû¿¡¼ µ¿ÀÛÇÏ´Â ¼¹ö ÄÄÆ÷³ÍÆ®¸¦ ¸¸µé ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ¼ºí¸´Àº HTMLÀ» È¿°úÀûÀ¸·Î ´Ù·ç±â À§ÇÑ ±â¼úÀÏ »Ó À¥ ÆäÀÌÁö »ý¼º¿ë ±â¼úÀº ¾Æ´Ï¾ú´Ù.
À¥ ÆäÀÌÁö´Â º¸Åë À¥ µðÀÚÀ̳ʰ¡ ¸¸µé±â ¶§¹®¿¡ Àüü ÇÁ·Î±×·¡¹Ö ·ÎÁ÷¿¡ ´ëÇÑ °í·Á°¡ ¾ø¾ú´ø °ÍÀÌ ÀϹÝÀûÀ̾ú´Ù. ¹Ý¸é À¥ ¼¹ö¿Í ±× µÞ´Ü¿¡¼ÀÇ Ã³¸®´Â ÇÁ·Î±×·¡¸Ó°¡ ´ã´çÇϹǷΠÀ¥ ÆäÀÌÁö µðÀÚÀΰú »ç¿ëÀÚ ÆíÀǼº µî¿¡ ´ëÇÑ °í·Á ¶ÇÇÑ ÀÌ·ïÁöÁö ¾Ê¾Ò´Ù. ¼ºí¸´ÀÌ È¿°úÀûÀÎ HTML 󸮵µ±¸ÀÓ¿¡´Â Ʋ¸²¾ø¾îµµ µ¶ÀÚÀûÀ¸·Î´Â È¿°úÀûÀÎ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç µµ±¸°¡ µÉ ¼ö ¾ø¾ú´ø °ÍÀÌ´Ù. ±×·¡¼ µîÀåÇÑ °ÍÀÌ JSP(JavaServer Pages)ÀÌ´Ù.
JSP´Â HTML ÆÄÀÏ¿¡ JSP¿ë Ư¼öó¸® Äڵ带 Æ÷ÇÔ½ÃÄÑ À¥ µðÀÚÀ̳ʰ¡ µðÀÚÀÎÇÑ À¥ ÆäÀÌÁö¿¡ Ãß»óÀûÀ¸·Î ÇÁ·Î±×·¡¹Ö ·ÎÁ÷À» ³¢¿ö ³ÖÀ» ¼ö ÀÖ´Â »õ·Î¿î ÇÁ·Î±×·¡¹Ö ¼Ö·ç¼ÇÀ» °¡´ÉÄÉ Çß´Ù. À̶§ºÎÅÍ À¥ ÄÁÅ×ÀÌ³Ê ±â´ÉÀ» Æ÷ÇÔÇÑ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹öµéÀÌ º»°ÝÀûÀ¸·Î ´ëµÎµÇ±â ½ÃÀÛÇßÀ¸¸ç, À̵éÀº ÇÁ·Î±×·¡¸Ó°¡ ¼ºí¸´°ú JSP¸¦ È¿°úÀûÀ¸·Î ¾µ ¼ö Àִ ȯ°æÀ» Á¦°øÇß´Ù. ±× ÀÌÈÄ¿¡ EJB(Enterprise JavaBeans)¸¦ ÅëÇØ ºÐ»êµÈ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç È¯°æÀ» ±¸ÃàÇÒ ¼ö ÀÖ´Â Åä´ë°¡ ¸¶·ÃµÆ´Ù(À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ̶õ À¥ ºê¶ó¿ìÀú¸¦ ÅëÇØ ½ÇÇàÀÌ °¡´ÉÇÑ ÇÁ·Î±×·¥À¸·Î ¼ºí¸´À̳ª JSP, EJB ÄÚµå µîÀ» ÀÌ¿ëÇØ ¸¸µé ¼ö ÀÖ´Ù. À¥ ÄÁÅ×À̳ʴ ¼ºí¸´ ÄÁÅ×ÀÌ³Ê¿Í JSP ÄÁÅ×ÀÌ³Ê ±â´ÉÀ» Æ÷ÇÔÇÑ´Ù).
ÇÏÁö¸¸ ¾Õ¼ ¸»ÇßµíÀÌ JSP´Â ¼ºí¸´°ú ÀüÇô º°°³ÀÇ ±â¼úÀÌ ¾Æ´Ï¾ú´Ù. JSP´Â ³»ºÎÀûÀ¸·Î ¼ºí¸´À¸·Î ÀçÄÄÆÄÀϵмºñ½ºµÇ¹Ç·Î ¼ºí¸´ÀÌ °¡Áø È¿°úÀûÀÌ°íµµ ´ÙÀ̳»¹ÍÇÑ HTTP ÀÀ´ä »ý¼º ±â´ÉÀ» Ȱ¿ëÇÔ°ú µ¿½Ã¿¡ È¿°úÀûÀÎ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç Á¦ÀÛ ±â´ÉÀ» Á¦°øÇß´Ù(<.±×¸² 2>). À¥ ¾ÖÇø®ÄÉÀ̼ÇÀº Á¡Á¡ ±× ü°èÀûÀÎ ¸ð½ÀÀ» °®Ãç ³ª°¬À¸¸ç À¥ ÄÁÅ×À̳ʿ¡¼ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¾î¶»°Ô ÀÚ¸®Àâ¾Æ¾ß ÇÒÁö¿¡ ´ëÇÑ °í·Á°¡ ÀÌ·ïÁ³´Ù. À̰ÍÀ» ¡®À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¹èÄ¡(Deploy)ÇÑ´Ù¡¯°í Ç¥ÇöÇϸç, ±× °úÁ¤À» ±â¼úÇÑ °ÍÀÌ ¹èÄ¡ ±â¼úÀÚ(Deployment Descriptor)´Ù(¹èÄ¡ ±â¼úÀÚ´Â XML ÆÄÀÏ ÇüÅ·ΠÁ¸ÀçÇÑ´Ù.)

<±×¸² 2> JSP ó¸® ±¸Á¶µµ
À¥ ¾ÖÇø®ÄÉÀ̼ÇÀº J2EE »ó¿¡¼ J2EE ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÇÑ ºÎºÐÀÌ µÈ´Ù. ¾î¶°ÇÑ ¿î¿µÃ¼Á¦¿¡¼ ½ÇÇàµÇ´Â À¥ ÄÁÅ×À̳ÊÀ̵ç J2EE ½ºÆå¸¸ ÁؼöÇϰí ÀÖ´Ù¸é, ¶ÇÇÑ ¾î¶°ÇÑ ¿î¿µÃ¼Á¦¿¡¼ ¸¸µé¾îÁø J2EE ¾ÖÇø®ÄÉÀ̼ÇÀ̵ç ÇØ´ç À¥ ÄÁÅ×À̳ʿ¡ ¹èÄ¡µÉ ¼ö ÀÖ´Ù. J2EE¿¡¼´Â ¹èÄ¡¸¦ À§ÇÑ J2EE ¾ÖÇø®ÄÉÀ̼ÇÀ» EAR ÆÄÀÏ(Enterprise ARchive)·Î ¹¾î¼ ¹èÆ÷ÇÑ´Ù. ¿©±â¿¡´Â ¿©·¯ ÆÄÀϵéÀÌ Æ÷ÇԵǴµ¥ ±× Áß¿¡´Â ¼ºí¸´°ú JSP ÆÄÀÏÀ» ¹Àº WAR ÆÄÀÏ(Web ARchive)ÀÌ ÀÖ´Ù. WAR ÆÄÀÏÀÌ ¹Ù·Î À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÌ µÈ´Ù(EAR³ª WAR ÆÄÀÏÀº ¸ðµÎ ÀÚ¹ÙÀÇ Jar ÆÄÀÏ Æ÷¸Ë¿¡ ÁØÇÑ´Ù).