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

ÀÌ¿ø¿µ ( javaservice )   2002/04/17
[Áöµð³ÝÄÚ¸®¾Æ]¼­ºí·¿¿¡¼­ instance variableÀÇ °øÀ¯ - PrintWriter -

´ÙÀ½°ú °°Àº Äڵ尡 ÀÖ´Ù°í °¡Á¤ÇÏÀÚ.

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class CountServlet extends HttpServlet {
   private PrintWriter out = null; // <-------------- (1)

   public void doGet(HttpServletRequest req, HttpServletResponse res)
     throws ServletException, IOException
{
     res.setContentType("text/html");
     out = res.getWriter();
     for(int i=0;i<20;i++){
       out.println("count= " + (i+1) + "<br>"); // <---- (2)
       out.flush();
       try{Thread.sleep(1000);}catch(Exception e){}
     }
   }
}

À§ÀÇ CountServlet.java¸¦ ÄÄÆÄÀÏÇØ µ¹·Á º¸¸é 1ÃÊ °£°ÝÀ¸·Î ÀÏ·ÃÀÇ ¼ýÀÚ°¡ ¿Ã¶ó°¡´Â °ÍÀÌ º¸ÀδÙ. ¼­ºí·¿ ¿£ÁøÀÇ ±¸Çö¹æ½Ä¿¡ µû¶ó Buffering ÀÌ µÇ¾î 20Ãʰ¡ ¸ðµÎ Áö³­ ´ÙÀ½¿¡¾ß ÆÜÀÌ ³ª¿Ã ¼öµµ ÀÖ´Ù.

È¥ÀÚ¼­ ´ÜÀÏ Request¸¦ ³¯·Á º¸¸é ¾Æ¹«·± ¹®Á¦°¡ ¾ø°ÚÁö¸¸, ÀÌÁ¦ ºê¶ó¿ìÁ® âÀ» µÎ°³ ÀÌ»ó ¶ç¿ì°í 10ÃÊÀÇ ½Ã°£ Â÷¸¦ µÎ½Ã¸é¼­ µ¿½Ã¿¡ È£ÃâÇϸé ÀÌ»óÇÑ Áõ»óÀÌ ³ªÅ¸³­´Ù. ¸ÕÀú È£ÃâÇÑ Ã¢¿¡´Â 10±îÁö Á¤µµ¸¸ ³ªÅ¸³ª°í, 10ÃÊ µÚ¿¡ È£ÃâÇÑ Ã¢¿¡¼­´Â ¸ÕÀú È£ÃâÇÑ Ã¢¿¡¼­ ³ªÅ¸³ª¾ß ÇÒ ³»¿ë±îÁö ³ªÅ¸³­´Ù.

ÀÌ´Â ¼­ºí·¿ÀÇ °¢ È£ÃâÀº Thread·Î µ¿ÀÛÇØ °¢ È£ÃâÀº À§ÀÇ (1) ¿¡¼­ ¼±¾ðÇÑ instance variable µéÀ» °øÀ¯Çϱ⠶§¹®¿¡ ³ªÅ¸³ª´Â ¹®Á¦ÀÌ´Ù.

À§ ºÎºÐÀº ´ÙÀ½°ú °°ÀÌ °íÃÄÁ®¾ß ÇÕ´Ï´Ù.

public class CountServlet extends HttpServlet {
   //private PrintWriter out = null;

   public void doGet(HttpServletRequest req, HttpServletResponse res)
     throws ServletException, IOException
   {
     PrintWriter out = null; // <--- ÀÌ ÂÊÀ¸·Î ¿Í¾ßÁÒ !!!
     res.setContentType("text/html");
     out = res.getWriter();
     for(int i=0;i<20;i++){
       out.println("count= " + (i+1) + "<br>"); // <---- (2)
       out.flush();
       try{Thread.sleep(1000);}catch(Exception e){}
     }
   }
}

±¹³» ÀϺΠ¼­ºí·¿ °ü·Ã ¼­ÀûÀÇ ÀϺΠ¿¹Á¦¿¡¼­ À§¿Í °°ÀÌ À߸øµÈ ÇüÅ·Π¼³¸íÇÑ ¼Ò½ºÄڵ尡 ¹ß°ßµÈ´Ù. ½ÇÁ¦ ÇÁ·ÎÁ§Æ® ȯ°æ¿¡¼­ °³¹ßµÈ ½Ç¹« ½Ã½ºÅÛ¿¡¼­µµ, ÀÌ·¯ÇÑ Ã¥À» ÅëÇØ °øºÎÇÑ °Íó·³ µ¿ÀÏÇÏ°Ô À߸øµÈ ÄÚµùÀ» Çϰí ÀÖ´Â °³¹ßÀÚ°¡ ÀÖ´Ù.

°á°úÀûÀ¸·Î Å×½ºÆ® ȯ°æ¿¡¼­´Â ³ªÅ¸³ªÁö ¾Ê´õ´Ï¸¸, ¸·»ó ½Ã½ºÅÛÀ» ¿ÀÇÂÇÏ°í³ª´Ï °í°´À¸·Î ºÎÅÍ ´ÙÀ½°ú °°Àº ¼Ò¸®¸¦ µè°ÔµÈ´Ù. "´Ù¸¥ »ç¶÷ÀÇ µ¥ÀÌÅͰ¡ ³» È­¸é¿¡ ³ªÅ¸³ª´Â °æ¿ì°¡ °£È¤ ÀÖ´Ù. refresh¸¦ ´­·¯¾ß Á¦´ë·Î ³ªÅ¸³­´Ù" @
µ¶ÀÚÀÇ°ß ³²±â±â (·Î±×ÀÎ ÈÄ µ¶ÀÚ ÀǰßÀ» ³²±â½Ç ¼ö ÀÖ½À´Ï´Ù.)
¾ÆÀ̵ð ºñ¹Ð¹øÈ£
 
 
[¼öÆÛ°³¹ßÀÚÀÇ ±æ ¨ç] °¡½¿ÀÇ ²Þ...
[±â°í]±ÝÀ¶ ¼­ºñ½º ½ÃÀåÀ» À§ÇÑ ...
[ORM ¨è] JPA Ȱ¿ëÇϱâ
[ORM ¨ç] ÇÏÀ̹ö³×ÀÌÆ® Ȱ¿ëÀü...
[DDD ¨ë] BDD(Behavi...
À©µµ¿ìCE µð¹ÙÀ̽º µå¶óÀ̹ö¿¡ °ü...
[±â°í]°í°´ ´«³ôÀÌ¿¡ ¸ÂÃá °¡»óÈ­...
'±¤¼¶À¯ 3D ¿µ»ó', ³úÀÇÇп¡ »õ ÁöÆò ¿­´Ù [00:02:31]
Áöµð³ÝÄÚ¸®¾Æ ¿µ»óÁ¦ÀÛÆÀ
Ç÷¹À̽ºÅ×À̼Ç3(PS3) ´ë¿ë·® HDD ±³Ã¼ ½¬¿î ÆÁ [00:03:22]
Áöµð³ÝÄÚ¸®¾Æ ¿µ»óÁ¦ÀÛÆÀ
¡°À¥ Ç¥ÁØÀº ¹«½¼!¡±¡¦IE8¿¡ ´ë...
Á¶Áßµ¿, ´ÙÀ½¿¡ ´º½º°ø±Þ Áß´Ü¡¦"...
¡®³ªÈ¦·Î ¾×ƼºêX¡¯¡¦¼¼°è ÀÎÅͳݰú...
³×À̹ö´Â ¿Ö '10´ë ÇØÄ¿'¿¡ ´ç...
[¼öÆÛ°³¹ßÀÚÀÇ ±æ ¨ç] °¡½¿ÀÇ ²Þ...
°øÀÎÀÎÁõüÁ¦, ¿ì¸®¿¡°Ô ÀÓ¹ÚÇÑ ¹Ì...
[Àλç]Áö½Ä°æÁ¦ºÎ
ÆÄ¼ö´åÄÄ "DRMÀÌ º¸¾È»ê¾÷ À̲ö...
³×À̹ö ¼­ºñ½º ÀÚ¹®À§¿øÈ¸, º»°ÝÀû...
Çѱ¹¾ÆÀ̽ǷÐ, ¾¾µð³×Æ®¿÷½º¿¡ ´ë±Ô...
Çѱ¹HP, µ¿±¹Á¦°­°ú ITÇù·Â °­...
 
 
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.