Java Servlet
Java ServletsÀº business systemÀ» Á¢±ÙÇÏ°í, À¥°³¹ßÀÚ¿¡ À¥¼¹öÀÇ ±â´ÉÀ» È®ÀåÇÏ¿©
»ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ÀÏ°üµÈ ¸ÞÄ¿´ÏÁòÀ» Á¦°øÇÒ ¼ö ÀÖ´Â java ±â¼úÀÌ´Ù. ÀÌ·¯ÇÑ servletsÀº
´Ù¾çÇÑ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ °³¹ßÀÌ °¡´ÉÇϵµ·Ï ¸¸µé¾î ÁÖ¸ç, ¿©·¯ºÐµéÀÌ ¾Ë°í ÀÖ´Â ¾ÖÇø´À»
»ý°¢ÇÏ¸é ¹«¸®°¡ ¾øÀ¸¸®¶ó º»´Ù. ´Ù¸¥ Á¡ÀÌ ÀÖ´Ù¸é ¼ºí¸´Àº ¼¹öÃø(server-side)¿¡¼ ÀÛµ¿ÇÏ´Â
¾ÖÇø´À̶ó »ý°¢ÇÏ¸é µÈ´Ù.
¶ÇÇÑ ¼ºí¸´Àº À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÏ´Â µ¥ ÀÖ¾î¼ ±âÁ¸ÀÇ CGI(Common Gateway Interface)°¡
°¡Áö°í ÀÖ´Â performanceÀÇ ÇÑ°èÁ¡À» ¶Ù¾î³ÑÀ¸¸ç, Ç÷§Æû µ¶¸³ÀûÀ̸ç ÄÄÆ÷³ÍÆ® ÁöÇâÀûÀÎ ÀÚ¹Ù
¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡À» Áö´Ï°í ÀÖ´Ù. ±âÁ¸ÀÇ CGIÀÇ ¹®Á¦Á¡Àº Ŭ¶óÀ̾ðÆ®ÀÇ
¿äû½Ã ¿©·¯ °³ÀÇ ÇÁ·Î¼¼½º°¡ ÀڽŵéÀÇ ¿µ¿ªÀ» Â÷ÁöÇÏ¸ç ¸¹Àº ÀÚ¿øÀ» ¼Ò¸ðÇϱ⠶§¹®¿¡
¼º´É¹®Á¦¸¦ ÀÏÀ¸Å³ ¼ö ÀÖ¾úÁö¸¸ ÀÚ¹Ù´Â ¸ÖƼ½º·¹µå¶ó´Â °Á¡À» ÀÌ¿ëÇÏ¿© ±×·¯ÇÑ ¼º´É¹®Á¦Á¡À»
ÇØ°áÇس»°í ÀÖ´Ù. ÇöÀç third-party Servlet ContainerµéÀº Apache Web Server, Microsoft IIS,
iPlanet Serverµî¿¡¼ »ç¿ëÀÌ µÉ ¼ö ÀÖ´Ù.
±×·¯¸é °£´ÜÇÏ°Ô ¼ºí¸´ÀÇ ÀÛµ¿¹æ½Ä¿¡ ´ëÇÏ¿© ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ.
À§ÀÇ ±×¸²¿¡¼ º¸´Â °Íó·³ À¥À̶ó Çϸé request¿Í response°¡ ´ëºÎºÐÀ» Â÷ÁöÇÑ´Ù°í º¸¸é µÈ´Ù.
ServletÀº HttpServletÀ» »ó¼Ó¹ÞÀ½À¸·Î¼ 󸮸¦ ÇÒ ¼ö ÀÖ°í, servlet¿¡ ´ëÇÑ ¿äûÀÌ µé¾î¿À°Ô µÇ¸é
À¥¼¹ö´Â À̸¦ ÀνÄÇÏ¿© servlet container·Î request¸¦ À̵¿½ÃŲ ÈÄ lifecycle¿¡ ÀÇÇÑ Ã³¸®¸¦ ¼öÇàÇÑ ÈÄ
°á°ú°ªÀ» À¥¼¹ö¸¦ ÅëÇØ Å¬¶óÀ̾ðÆ®·Î ³Ñ°ÜÁÖ´Â ¹æ½ÄÀ» ÃëÇÏ°í ÀÖ´Ù.
¼ºí¸´Àº À§Ã³·³ µ¿ÀÛÇϸç, ´Ù¾çÇÑ dynamicÇÑ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡À» °¡Áö°í
ÀÖ´Ù. ÇÏÁö¸¸ ÀÚ¹Ù ÄÚµå¾È¿¡ ¿ì¸®°¡ º¸¿©ÁÙ htmlÀÇ ³»¿ëÀ» ³Ö¾î¾ß Çϱ⠶§¹®¿¡ À¯Áöº¸¼öÀÇ ´ÜÁ¡ÀÌ
´ëµÎµÇ°Ô µÈ´Ù. ±×·¯ÇÑ ÄÚµå¿Í È¸é ·ÎÁ÷ÀÇ ºÐ¸®¸¦ À§ÇÏ¿© JSP°¡ µîÀåÇÏ°Ô µÈ´Ù
Java Server Pages
JSP(Java Server Pages, ÀÌÇÏ JSP)´Â Ç÷§Æû µ¶¸³ÀûÀÎ À¥ ±â¹ÝÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ» ºü¸£°Ô ±¸ÃàÇÒ ¼ö
ÀÖµµ·Ï ¸¸µç ÀÚ¹Ù ±â¼úÀÇ ÇÑ Á¾·ùÀÌ´Ù. ¼ºí¸´ÀÇ ´ÜÁ¡Àº Äڵ忡 ȸé·ÎÁ÷ÀÌ µé¾î°¡ ÀÖ´Ù´Â
°ÍÀ̾ú´Ù. DesignerÀÇ ÆäÀÌÁö ·¹À̾ƿô ÇüÅÂÀÇ º¯°æÀ» ¿ëÀÌÇÏ°Ô Çϸç ÇØ´ç ÄÁÅÙÃ÷·ÎºÎÅÍ »ç¿ëÀÚ
ÀÎÅÍÆäÀ̽º¸¦ ºÐ¸®½Ãų ¼ö ÀÖ´Ù´Â ÀåÁ¡À» °¡Áö°í ÀÖ´Ù. Response·Î º¸¿©Áö´Â ÆäÀÌÁö¿¡´Â ¶ÇÇÑ
¾î¶°ÇÑ Å¸ÀÔÀÇ HTMLÀ̳ª XMLµµ ¹ÝȯµÇ¾î Áú ¼ö ÀÖ´Ù´Â °Í ¶ÇÇÑ Æ¯Â¡ÀÌ´Ù. ¾ÖÇø®ÄÉÀÌ¼Ç ·ÎÁ÷Àº
¼¹ö»óÀÇ ÀÚ¿øµéÀ» »ç¿ëÇϸç, JSPű׸¦ »ç¿ëÇÏ¿© À¥ÆäÀÌÁöÀÇ ¼³°è¿Í ·ÎÁ÷ÀÇ ºÐ¸®·Î ÀÎÇÏ¿©
ÄÄÆ÷³ÍÆ®ÀÇ Àç»ç¿ë¼ºÀÌ ³ô¾ÆÁú ¼ö ÀÖ´Ù.
±âº»ÀûÀÎ JSP´Â Servlet Container¸¦ ÀÌ¿ëÇÏ¿© µ¿ÀÛÀ» ÇÏ°Ô µÇ¸ç, scriptÀÚüÀÇ jsp¸¦ ÀνÄÇÏ´Â °ÍÀÌ
¾Æ´Ñ JSP¿¡¼ ServletÄÚµå·ÎÀÇ º¯È¯°úÁ¤À» °ÅÄ£ ÈÄ ¸Þ¸ð¸®¿¡ ·ÎµùµÇ¾î 󸮵Ǵ ¹æ½ÄÀ» ÃëÇÏ°í ÀÖ´Ù.
°á±¹ ¼ºí¸´ÀÌ °¡Áö´Â ÀåÁ¡À» ¸ðµÎ °¡Áü°ú µ¿½Ã¿¡ presentation logicÀÇ ºÐ¸®¶ó´Â °·ÂÇÑ ±â´ÉÀ»
Á¦°øÇÏ´Â ÀÚ¹Ù±â¼úÀ̶ó°í ÇÒ ¼ö ÀÖ´Ù. ±×·¯ÇÑ ±¸Á¶¸¦ ¾Æ·¡ÀÇ ±×¸²¿¡¼ »ìÆ캸µµ·Ï ÇÏÀÚ.
À§ÀÇ ±×¸²¿¡¼ º¸µíÀÌ jsp¸¦ È£ÃâÇßÀ» °æ¿ì À¥¼¹ö´Â ÀÌ ¿äûÀ» ¹Þ¾Æ ÄÁÅ×À̳ʿ¡°Ô ¿äûÀÌ
µé¾î¿ÔÀ½À» ¾Ë¸° ÈÄ request¸¦ ÄÁÅ×À̳ʿ¡°Ô ³Ñ±â°Ô µÇ´Âµ¥ ÀÌ ¶§ ÄÁÅ×À̳ʴ ÇØ´ç jspÀÇ
ÄÄÆÄÀÏµÈ ¼ºí¸´ Ŭ·¡½º°¡ Á¸ÀçÇÏ´ÂÁö¸¦ È®ÀÎÇÏ¿© ÀÖ´Ù¸é ÀÌ¹Ì ·ÎµùµÈ Ŭ·¡½º¸¦ ÀÌ¿ëÇÏ¿©
¿äûÀ» ó¸®ÇÏ°Ô µÈ´Ù. ¸¸¾à ÄÄÆÄÀÏÀÌ ¾ÈµÈ jsp¿´´Ù¸é ¼ºí¸´À¸·Î ÄÄÆÄÀÏ ÇÑ ÈÄ ½ÇÇàÀ»
½ÃÅ°°Ô µÈ´Ù. ÀÌ·¯ÇÑ JSP¸¦ ÀÌ¿ëÇÏ¿© ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé°Ô µÈ´Ù¸é ÇØ´ç JSP¿¡ ´ëÇÑ ÃÖÃÊ
¿äû½Ã ½Ã°£ÀÌ °É¸®´Â °ÍÀ» º¼ ¼ö°¡ Àִµ¥ ÀÌÀ¯´Â JSP¸¦ ÆĽÌÇÏ¿© servletÀ¸·Î ¹Ù²Ù´Â ÀÏÀ»
ÄÁÅ×À̳ʰ¡ Çϱ⠶§¹®ÀÌ´Ù.
JSP Beans
Java¿¡¼ÀÇ Beans´Â ¿©·¯ °¡Áö Àǹ̸¦ ³»Æ÷ÇÒ ¼ö ÀÖ´Ù. ±×µéÀº EJB(Entierprise Java Beans)¿Í
standardºÎºÐÀÇ JavaBeans ±×¸®°í JSP¿¡¼ »ç¿ëÇÏ´Â BeansÀÌ´Ù. °¢ °³³ä¿¡¼ÀÇ »ç¿ë ÇüÅ´Â
Ʋ¸®Áö¸¸ ÀϹÝÀûÀ¸·Î Beans¶ó´Â ¿ë¾î´Â Àç»ç¿ë°¡´ÉÇÑ ÄÄÆ÷³ÍÆ®µéÀ̶ó Á¤ÀǸ¦ ³»¸®¸é
ÀÌÇØÇϴµ¥ ÀÖ¾î¼ ¹«¸®°¡ ¾øÀ» °ÍÀ¸·Î º¸ÀδÙ.
JSP¿¡¼ ÀÌ·¯ÇÑ Beans¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯´Â ´ë·« ´ÙÀ½°ú °°ÀÌ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. ù°·Î ½ÇÁ¦
JSPÄڵ带 °³¹ßÇÔ¿¡ ÀÖ¾î scriptlet¾È¿¡ ¿ì¸®°¡ »ç¿ëÇÏ´Â javaÄڵ带 »ðÀÔÇÒ ¼ö Àִµ¥ HTML°ú
ÀÚ¹ÙÄÚµåÀÇ ³»¿ëÀÌ Ä¿Áú¼ö·Ï ¸íÈ®È÷ ºÐ¸®Çس¾ ¼ö ¾ø±â ¶§¹®¿¡ requestµî¿¡ ÀÇÇØ µé¾î¿À´Â
µ¥ÀÌÅ͵éÀ» ÃßÃâÇÏ°í ±×°ÍÀ» entity class·Î Á¤ÀǸ¦ ÇÔÀ¸·Î¼ °´Ã¼»ç¿ëÀÇ È¿À²¼ºÀ» ³ôÀÌ´Â °ÍÀÌ
ÁÖ¿äÇÑ ÀÌÀ¯ ÁßÀÇ ÇϳªÀÌ´Ù. µÎ¹ø°·Î ¾î¶² »óÅÂÁ¤º¸°ªÀ» °è¼ÓÀûÀ¸·Î À¯ÁöÇØ¾ß ÇÒ Çʿ伺ÀÌ
ÀÖÀ» ¼ö°¡ Àִµ¥ ´ëÇ¥ÀûÀÎ ¿¹·Î ¼îÇθôÀ» ±¸ÃàÇÒ °æ¿ì shopping cartÀÇ °æ¿ìÀÌ´Ù.
ÀÌ ¶§ µ¥ÀÌÅ͵éÀ» ÄíÅ°³ª ¼¼¼Ç¿¡ ¾î¶°ÇÑ ±âº» API·Î Áý¾î³Ö´Â´Ù ÇÏ´õ¶óµµ ¿ì¸®°¡ ½ÇÁ¦·Î
ÇÊ¿äÇÑ µ¥ÀÌÅÍ¿¡ ´ëÇÑ Á¤º¸¸¦ Á¶ÀÛÇϱ⿡´Â ºÎÁ·ÇÑ ¸éÀÌ ¾øÁö ¾Ê´Ù. JSP¿¡¼ ó¸®ÇÒ ¼ö ¾ø´Â
user-defineÇüÅÂÀÇ class¸¦ ¼±¾ðÇÏ°í Çڵ鸵ÇÔÀ¸·Î¼ ±×·¯ÇÑ ¹®Á¦Á¡À» ÇØ°áÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ»
Á¦½ÃÇÑ´Ù.
¼¼¹ø°´Â Ŭ·¡½ºÀÇ Àç»ç¿ë¼ºÀÌ ±× ÀÌÀ¯°¡ ÀÖ´Ù. JSPÀÇ ÀÚ¹ÙÄÚµåÀÇ °æ¿ì ÇØ´ç
JSP(ÄÁÅ×À̳ʿ¡ ÀÇÇØ ÄÄÆÄÀÏµÈ ÈÄ)¿¡¼¸¸ À¯È¿ÇÒ »ÓÀÌÁö ´Ù¸¥ ÆäÀÌÁö¿¡¼ »ç¿ëÇÑ´Ù¸é
°á±¹ copy-pasteÀÇ ÇüÅ·μ¸¸ »ç¿ëÀÌ °¡´ÉÇÏ°Ô µÉ °ÍÀÌ´Ù. ÀÚ¹ÙÀÇ °´Ã¼ÁöÇâ°³³äÁßÀÇ
Àç»ç¿ë¼ºÀÇ Ãø¸éÀ» Á¤È®ÇÏ°Ô »ì¸®°íÀÚ ÇÑ´Ù¸é ÀÌ·¯ÇÑ BeansÀÇ »ç¿ëÀÌ Àû±Ø À¯µµµÇ¾î¾ß ÇÒ °ÍÀÌ´Ù.
Custom Tag Library
»ç¿ëÀÚ Á¤ÀÇ JSP¾ð¾î ¼Ó¼ºÀ̶ó°í ¸»ÇÒ ¼ö ÀÖ´Â Custom Tag Library´Â ¾î¶°ÇÑ JSP¿¡ ÀÇÇؼµµ
Àç»ç¿ëµÇ¾îÁú ¼ö ±â´ÉÀ» ¸ðµâ½ÄÀ¸·Î Á¤ÀÇÇÏ°í ¼±¾ðÇÑ °ÍÀÌ´Ù. À§¿¡¼ ¼³¸íÇÑ BeansÀÇ °æ¿ì
´Ü¼øÈ÷ entityŬ·¡½º ¶Ç´Â ·ÎÁ÷À» ºÐ¸®¸¦ ½Ãų ¼ö´Â ÀÖ´ÙÇÏ¿©µµ °áÁ¤ÀûÀÎ JSP Content¸¦
Á¶ÀÛÇÒ ¼ö ¾ø´Ù¶ó´Â ´ÜÁ¡À» °¡Áö°í ÀÖ´Ù. ÀÌ·Î ÀÎÇØ JSPÆäÀÌÁö´Â ½ºÅ©¸³Æà ¿ä¼Ò°¡ ±²ÀåÈ÷
°ÇØÁö°Ô µÇ¸ç JSPÆäÀÌÁö¸¦ ºÒºÐ¸íÇÏ°Ô ¸¸µå´Â ¿äÀÎÀÌ µÉ ¼ö ÀÖ´Ù. ¿©±â¼ JSPÄ¿½ºÅÒ Å±װ¡
À§·ÂÀ» ¹ßÈÖ¸¦ ÇÏ°Ô µÇ´Âµ¥ µðÀÚÀÌ³Ê¿Í °³¹ßÀÚ°£ÀÇ ¿ªÇҺдãÀ» ¿ÏÀüÈ÷ ÀÌ·ç³¾ ¼ö ÀÖµµ·Ï
µµ¿ÍÁØ´Ù. ¶ÇÇÑ ¶óÀ̺귯¸® »ç¿ëÀÚ¿Í ¶óÀ̺귯¸® °³¹ßÀÚ »çÀÌÀÇ ºÐ¸®·Î¼ ¾ÖÇø®ÄÉÀ̼ǿ¡
´ëÇÑ »ý»ê¼º Çâ»óÀ» ³ôÀÏ ¼ö Àִٴ Ư¡À» °¡Áö°í ÀÖ´Ù.
¶ÇÇÑ À̽ļºÀÌ ±²ÀåÈ÷ ³ôÀº Ư¡À» °¡Áö°í Àִµ¥ ÀÌ´Â ¶óÀ̺귯¸®°¡ Çѹø °³¹ßÀÌ µÇ°í ³ª¸é
¾î¶² JSP page¿¡¼¶óµµ scripting¿¡ µ¶¸³ÀûÀ¸·Î »ç¿ëÀÌ µÉ ¼ö ÀÖ´Ù
Written by Carouser : 2002-09-24
|