Using Form Tag #2
À̹ø ¿¹Á¦´Â Àü¹ø °Á¿¡¼ ÇÑ form1 ¼ºí¸´À» postÇüÀ¸·Î ¹Ù²Û°ÍÀÔ´Ï´Ù. Àü¹øÀÇ ¿¹Á¦¿ÍÀÇ Â÷ÀÌ´Â °ÅÀÇ Ã£¾Æ º¸±â ¾î·Æ½À´Ï´Ù. Ŭ·¡½º¸¦ ¼³¸íÇϱâ Àü¿¡ ¿ì¼± html¹®¼¸¦ º¸¿© µå¸®°Ú½À´Ï´Ù.
À§ÀÇ html¹®¼¸¦ º¸¸é ¹Ù²ï°ÍÀº ´ÜÁö actionÀÇ Å¬·¡½º¿Í methodÀÔ´Ï´Ù. Get method¿¡¼ Post method·Î ¹æ¹ýÀ» ¹Ù²Û °ÍÀÔ´Ï´Ù. ÀÌ·¸°Ô ¹Ù²î¸é 󸮵Ǿî¾ß ÇÏ´Â ¼ºí¸´µµ ¹Ù²î¾î¾ß ÇÏ°ÚÁö¿ä. ¿ì¼± Post·Î ¹Ù²Ù´Â ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇϱâ Àü¿¡ Get°ú PostÀÇ Â÷ÀÌÁ¡ºÎÅÍ °£´ÜÈ÷ ¾Ë·Á µå¸®°Ú½À´Ï´Ù. ¿ª½Ã ÀÚ¼¼ÇÑ °ÍÀº TCP/IP³ª CGI¿¡ °ü·ÃµÈ Ã¥À» ÂüÁ¶ ÇϽñ⠹ٶø´Ï´Ù. ¿ì¼± GetÀº URL¿¡ ³»¿ëÀÌ Ã·ºÎµÇ¾î µé¾î°©´Ï´Ù. ±×·¯¹Ç·Î URL¿¡ º¸³»´Â ³»¿ëÀÌ ´Ù º¸ÀÌ°Ô µË´Ï´Ù. Áï Yahoo³ª ½É¸¶´Ïµî¿¡¼ ÀÚ·á °Ë»öÀ» ÇÒ¶§ URL µÚ¿¡ ?°¡ ³ª¿À°í ±× µÚ·Î ÀÌ»óÇÑ ±ÛÀÚ°¡ ÁÖ~¿í ºÙ´Â°Í, ±×·± ¹æ½ÄÀÌ ¹Ù·Î GetÀ̱¸¿ä, ±×·¸Áö ¾Ê°í ¾îµð ¹æ¸í·ÏÀ̳ª °Ô½ÃÆÇ¿¡ ±ÛÀ» ¾µ¶§ URL¿¡ ÁöÀúºÐÇÏ°Ô µû¶ó ºÙ´Â °ÍµéÀÌ ¾ø´Â °ÍÀ» º¸½Å ÀûÀÌ ÀÖÁö¿ä? ±×·² ¶§¿¡ »ç¿ëÇÕ´Ï´Ù. ÀÌ°Ç »ç½Ç Áß¿äÇÑ Â÷ÀÌÁ¡ÀÏ ¼ö ÀÖ½À´Ï´Ù. ¸¸ÀÏ password¸¦ ÀÔ·Â ¹Þ´Â ¼ºí¸´À» ÀÛ¼ºÇÑ´Ù°í »ý°¢ÇØ º¸½Ê½Ã¿ä. URL¿¡ ±× password°¡ ´Ù º¸ÀÎ´Ù¸é ±×°ÍÀº password·Î¼ÀÇ °¡Ä¡¸¦ ÀÌ¹Ì »ó½ÇÇß´Ù°í º¸¾Æµµ µÇ°ÚÁö¿ä? ±×·±°ÍÀ» ´ëºñÇϱâ À§Çؼ POST¸¦ »ç¿ëÇÕ´Ï´Ù. »Ó¸¸ ¾Æ´Ï¶ó GetÀº 256ByteÀÌ»óÀº º¸³¾ ¼ö ¾ø½À´Ï´Ù. ±×·±µ¥ ¹æ¸í·ÏÀ̳ª °Ô½ÃÆǵ¼´Â ¸¹Àº ³»¿ëÀ» º¸³»¾ß ÇÒ ÇÊ¿ä°¡ ÀÖÀ¸¹Ç·Î, ÀÌ·²¶§´Â GetÀÌ »ç¿ëÀÌ ºÒ°¡´É ÇÕ´Ï´Ù. ÀÌ·¸°Ô Post°¡ À̵æÀÌ ¸¹Àºµ¥ ¿Ö GetÀº ¾ø¾îÁöÁö ¾Ê°í ³²¾Æ ÀÖÀ»±î¿ä? ¾ÆÁÖ ´Ü¼øÈ÷ »ç¿ëÀÌ Æí¸®Çϱ⠶§¹®ÀÔ´Ï´Ù. °£´ÜÇÑ Encoding Rule¸¸ ¾Ë¸é »ç¿ëÇÒ ¼ö ÀÖÀ¸´Ï±î¿ä. ÀÚ¼¼ÇÑ Encoding¹æ¹ýÀº ´Ù¸¥ Ã¥À» Âü°íÇϽñ⠹ٶø´Ï´Ù. ÇÏ¿©°£ °Ô½ÃÆǵ¼ ÆäÀÌÁöÀÇ À̵¿µî¿¡´Â Get¸Þ¼Òµå¸¦, ½ÇÁ¦·Î ÀڷḦ µî·ÏÇÏ´Â µîÀÇ ÀÏ¿¡´Â Post¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÀϹÝÀûÀÔ´Ï´Ù. ¾î¶² ºÎºÐÀÌ ¹Ù²î¾ú´ÂÁö ã¾Æ º¸½Ã±â ¹Ù¶ø´Ï´Ù. ã¾Æ º¸¼Ì½À´Ï±î? ¹Ù²ï°÷ÀÌ °ÅÀÇ ¾øÁö¿ä? ¿ì¼± ¸Þ¼Òµå°¡ doGet¿¡¼ doPost·Î ¹Ù²î¾úÁö¿ä? ÀÌ°ÍÀº Post¸¦ »ç¿ëÇÏ°Ú´Ù´Â °ÍÀÔ´Ï´Ù. ±×¸®°í´Â msg = req.getParameterValues("msg")[0]; À§ÀÇ ÇÑ ÁÙ¸¸ÀÌ ¹Ù²î¾ú±º¿ä. ¿ø·¡´Â msg = req.getParameter("msg"); ¿´¾ú½À´Ï´Ù. µÑÀÇ Â÷ÀÌ´Â ¹«¾ùÀϱî¿ä? servlet¿¡¼´Â PostÇüÀ¸·Î ¹Þ¾Æ µéÀÌ´Â °æ¿ì¿Í GetÇüÀ¸·Î ¹Þ¾ÆµéÀÏ °æ¿ì¿¡ ¸Þ¼Òµå¸¦ Â÷À̸¦ µÎ¾ú½À´Ï´Ù. Áï , getParameter(String) ¸Þ¼Òµå´Â Get¹æ½Ä¿¡¼, getParameterValues(Stirng)Àº Post¹æ½Ä¿¡¼ »ç¿ëÇÏ°Ô µË´Ï´Ù.. getParameterValues(String)¸Þ¼Òµç´Â String[] À» ¹ÝȯÇÕ´Ï´Ù. Áï client·ÎºÎÅÍ ³Ñ¾î¿À´Â StringÀÇ array¸¦ ¹ÝȯÇÏ´Â °ÍÀÌÁö¿ä. ±×·¯³ª À§ÀÇ ¿¹Á¦¿¡¼´Â ¿ÀÁ÷ ÇϳªÀÇ ³»¿ë¸¸ ³Ñ¾î ¿À¹Ç·Î, 0¹ø° ÀÎÀÚ¸¸ ¹Þ¾Æ¼ »ç¿ëÇÕ´Ï´Ù. À§ÀÇ ½ÇÇà °á°ú´Â ¿©±â¼ È®ÀÎ ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù. È®ÀÎÇÏ½Ã¸é¼ ²À »ìÆì º¸¼Å¾ß ÇÒ °ÍÀº BrowserÀÇ LocationâÀÔ´Ï´Ù. ¾î¶»°Ô ¹Ù²î´ÂÁö ²À »ìÆì º¸½Ã±â ¹Ù¶ø´Ï´Ù. ¿©±â¼ ¶Ç Çϳª È®ÀÎÇØ º¸½Ç ÀÏÀÌ ÀÖ½À´Ï´Ù. Post·Î ¸¸µé¾îÁø servletÀ» Get¹æ½ÄÀ¸·Î ¿äûÀ» ÇÏ¸é ¾î¶»°Ô µÇ´ÂÁöÀÔ´Ï´Ù. http://hycedu.hanyang.ac.kr:1206/servlet/form2?msg=message·Î µé¾î°¡¸é ¾î¶»°Ô µÇ´ÂÁö ²À È®ÀÎÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù. 400 Bad Request Error°¡ ¹ß»ýÇÕ´Ï´Ù. ÀÌ°Ô ¹«½¼ ¿¡·¯Àϱî¿ä? Post·Î µÇ¾î ÀÖ´Â ¼ºí¸´À» Get¹æ½ÄÀ¸·Î È£ÃâÇß´Ù´Â ¶æÀ¸·Î, ±×·¸°Ô »ç¿ëÀÌ ºÒ°¡´É ÇÏ´Ù´Â ¶æÀÔ´Ï´Ù. Áï, GetÀº GetÀ¸·Î, Post´Â Post·Î ÀÛ¼ºµÈ ¼ºí¸´À» È£ÃâÇؾßÇÕ´Ï´Ù. ¨Ï 1999 Lee Min Goo, All rights are reserved Last modified 1999 If you have any question, send mail to bluehope |