À̹ø ¿¹Á¦´Â From Tag¸¦ »ç¿ëÇÏ¿©¼ client·ÎºÎÅÍ ³»¿ëÀ» ³Ñ°Ü ¹Þ¾Æ¼ °á°ú¸¦ Ãâ·ÂÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù. ¼Ò½ºµµ ¸Å¿ì ª°í °£´ÜÇϱ⠶§¹®¿¡ º°·Î ¼³¸í µå¸± °ÍÀÌ ¾ø½À´Ï´Ù.
À§ÀÇ html ¹®¼¸¦ ÀÛ¼ºÇØ Áֽʽÿä. °£´ÜÇÑ form tag¸¦ »ç¿ëÇÏ¿© ¼¹öÃøÀ¸·Î ÀڷḦ º¸³»´Â html¹®¼ÀÔ´Ï´Ù. ¿©±â¼± html¹®¼¿¡ ´ëÇÏ¿© ¼³¸íÇÏÁö ¾Ê½À´Ï´Ù. tagµéÀº Á÷Á¢ ´Ù¸¥ °øºÎ¸¦ ÇϽñ⠹ٶø´Ï´Ù. ¿ì¼± 3¹ø° °Á¿¡¼ HttpServet Ŭ·¡½º¸¦ ¼³¸íµå¸±¶§ doGetÀ̶ó´Â ¸Þ¼Òµå¸¦ ¼³¸íÇØ µå·È½À´Ï´Ù. (±â¾ïÀÌ ¾È³ª½Ã¸é ´Ù½Ã µ¹¾Æ °¡¼¼Å Çѹø Àоî ÁÖ¼¼¿ä) Get Method·Î ³Ñ¾î¿À´Â ³»¿ëÀ» ¹Þ¾Æ¼ ó¸®ÇØ ÁÖ´Â ¸Þ¼Òµå¶ó ¸»¾¸µå·È¾ú½À´Ï´Ù. ±×·³ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ¾Ë¾Æ º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. ¿ì¼± form1 class°¡ initializeÇÕ´Ï´Ù. Á÷Á¢ overidingÇØ ÁØ °ÍÀÌ ¾ø±â ¶§¹®¿¡ ±âº»Àû initialize¸¸ ÇÕ´Ï´Ù. ±×¸®°í ½ÇÇàÀÌ µÇ´Â °ÍÀº doGet ¸Þ¼ÒµåÀ̸ç, ÀÌ ¸Þ¼Òµå´Â Get¹æ½ÄÀ¸·Î ÀÚ·á°¡ ³Ñ¾î¿Ã¶§ ÀÚµ¿À¸·Î ½ÇÇàÀÌ µË´Ï´Ù. (¼Ò½º¸¦ Á÷Á¢ º¸Áö ¾Ê¾Æ¼ ÀßÀº ¸ð¸£°ÚÁö¸¸, ¿ø·¡ÀÇ service¸Þ¼Òµå¿¡¼ È£ÃâÀ» ÇØ ÁÖ´Âµí ½Í½À´Ï´Ù.) ±×¸®°í´Â º¸½Ã´Â ´ë·Î ½ÇÇàÀÌ µË´Ï´Ù. ip = req.getRemoteHost(); À§ÀÇ ¹®ÀåÀº req·ÎºÎÅÍ ClientÃøÀÇ Domain NameÀ» ¾ò¾î ¿É´Ï´Ù. TCP/IPȯ°æ¿¡¼ ÀÚ·áÀÇ Àü¼ÛÀº ¹Ýµå½Ã packet´ÜÀ§·Î ÀÌ·ç¾î Áý´Ï´Ù. ÀÌ·¯ÇÑ packetÀº ¼Û½ÅÃøÀÇ IP¿Í ¼ö½ÅÃøÀÇ IP°¡ °°ÀÌ µé¾îÀÖ½À´Ï´Ù. ±×·¡¾ß ÀÚ½ÅÀÇ ¸ñÀûÁö°¡ ¾îµðÀÎÁö, ±×¸®°í ó¸®µÈ °á°ú´Â ¾îµð·Î ¹Þ¾Æ¾ß ÇÒÁö¸¦ ¾Ë ¼ö ÀÖÀ¸´Ï±î¿ä. ±×·¯´Ï±î, À̶§ ³Ñ¾î¿Â clientÃøÀÇ IP¸¦ ¿äûÇÏ´Â °ÍÀÌ À§ÀÇ ¸Þ¼Òµå ÀÔ´Ï´Ù. ±×·¯³ª getRemoteHost()¸Þ¼Òµå´Â ±× IP¸¦ °¡Áö°í Domain nameÀ» ¿äûÇÏ´Â ¸Þ¼ÒµåÀÔ´Ï´Ù. ¹°·Ð DomainNameÀ» ¾Ë¾Æ¿À¸é »ç¿ëÀÚ¿¡°Ô ´õ¿í ÆíÇϴϱî, À§ÀÇ ¸Þ¼Òµå°¡ Á¸ÀçÇÕ´Ï´Ù. ±×·¯³ª, packet¿¡ µþ·Á ¿À´Â °ÍÀº IPÀ̹ǷΠÀ§ÀÇ ¸Þ¼Òµå´Â nameserver¿¡ °¡¼ IP¸¦ °¡Áö°í Domain NameÀ» ¿äûÀ» ÇؾßÇÕ´Ï´Ù. À̶§ ½Ã°£ÀÌ ¿À·¡ °É¸®°Ô µÇ°ÚÁö¿ä. ´ÙÇàÀÌ ¾Ë°í ÀÖ´Â DomainÀ̶ó¸é °£´ÜÈ÷ ¹Þ¾Æ ¿À°ÚÁö¸¸, ¾Æ´Ï¶ó¸é ÇÑÂü ã¾Æ Çì¸Þ¾ß ÇÒ Å״ϱî¿ä. »Ó¸¸ ¾Æ´Ï¶ó ¾ÆÁ÷ ´ëºÎºÐÀÇ IPµéÀº Domain NameÀ» °¡Áö°í ÀÖÁö ¾Ê½À´Ï´Ù. Áï, Á¦°¡ »ç¿ëÇÏ´Â ÄÄÇ»Å͵µ IP address´Â °¡Áö°í ÀÖÁö¸¸, Domain NameÀº °¡Áö°í ÀÖÁö ¾Ê½À´Ï´Ù. ±×·¯¹Ç·Î, Domain nameÀ» ¿äûÇÏ´Â °Í º¸´Ù´Â ±×³É IP¸¦ ¿äûÇÏ´Â °ÍÀÌ ´õ¿í ÁÁÀ» °Í °°½À´Ï´Ù. IP¸¸À» ¿äûÇÏ´Â ¸Þ¼Òµå´Â req.getRemoteAddr() ÀÔ´Ï´Ù. ±ÇÀåÇÕ´Ï´Ù. getRemoteHost º¸´Ù´Â getRemoteAddrÀ» »ç¿ëÇϽʽÿä. ¼¹öÀÇ ºÎÇÏ°¡ ¸¹ÀÌ °É¸®°Ô µË´Ï´Ù. Áß¿äÇÑ ¸Þ¼Òµå ÀÔ´Ï´Ù. ¾ÆÁÖ Áß¿äÇÕ´Ï´Ù. form tag¿¡¼ msg¶ó°í À̸§À» Á¤ÇÑ fieldÀÇ °ªÀ» ¹Þ¾Æ¿À´Â ¸Þ¼Òµå ÀÔ´Ï´Ù. Áï À§ÀÇ html¹®¼¸¦ º¸¸é <input type=text name=msg> ¶ó°í µÇ¾î ÀÖ´Â ºÎºÐÀÌ ÀÖ½À´Ï´Ù. À§ÀÇ ºÎºÐÀÌ ¹Ù·Î msg¶ó´Â À̸§À¸·Î textÀÇ Çü½ÄÀ¸·Î ÀڷḦ º¸³»¶ó´Â Àǹ̰¡ µË´Ï´Ù. Áï ³»°¡ asdf¶ó°í ÀÔ·ÂÀ» Çϸé [Your Server]:[port]/servlet/form1?msg=asdf ¶ó´Â ÇüÅ·Πº¸³» Áö°Ô µË´Ï´Ù. Get¸Þ¼Òµå¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ °ÍÀº CGI¸¦ ÂüÁ¶ ÇϽñ¸¿ä, ¿©±â¼ °£´ÜÈ÷ ¸»¾¸µå¸®ÀÚ¸é, Url¿¡ µÚ¿¡ Ư¼öÇÑ EncodingÀ» Çؼ ¼¹öÃø¿¡ ÀڷḦ º¸³»´Â °ÍÀ̶ó°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù. URL¿¡ ÀÚ·á´Â Æ÷ÇÔµÇ¾î¼ ³Ñ¾î°¡±¸¿ä, ÀÌ·± ¹æ½ÄÀº ÁÖ·Î °Ë»ö¿£Áøµî¿¡¼ ¸¹ÀÌ »ç¿ëµË´Ï´Ù. ¾ßÈijª, ½É¸¶´ÏµîÀ» »ç¿ëÇϽô٠º¸¸é localtionâ¿¡ ÀÌ»óÇÑ ±Û¾¾µé ¸· µé¾î°¡¸é¼ À§ÀÇ ¸ð½À°ú ºñ½ÁÇÑ ¸ð½ÀÀ» ¸¹ÀÌ º¸¼ÌÀ¸¸®¶ó »ý°¢ÇÕ´Ï´Ù. ÇÏ¿©°£ À§ÀÇ ¹æ½ÄÀ¸·Î ÀÚ·á´Â ³Ñ¾î¿À°Ô µÇ°í ±× ³Ñ¾î¿Â ÀÚ·áµéÀº EncodingµÇ¾î ÀÖ´Ù°í ¸»¾¸ µå·È½À´Ï´Ù. ±× EncodingµÈ ÀÚ·áµéÀ» Servlet¿¡¼´Â ÀÚµ¿À¸·Î DecodingÇØ ÁÝ´Ï´Ù. ¾ÆÁÖ °£ÆíÇÏÁö¿ä. msg = req.getParameter("msg"); À§ÀÇ ¸Þ¼Òµå¸£¸£ »ç¿ëÇÏ¸é °£´ÜÈ÷ DecodingµÈ °ªÀ» ¹Þ¾Æ ¿Ã ¼ö ÀÖ½À´Ï´Ù. À̶§ ³Ñ¾î¿À´Â °ªµéÀº ¸ðµÎ StringÇüÀ̸ç, °¢ ÇÊ¿ä¿¡ ¸ÂÃß¾î¼ castingÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÇÏ¿©°£ À§ÀÇ ¸Þ¼Òµå¸¦ ¼öÇàÇϸé msg¶ó´Â StringÇü º¯¼ö¿¡´Â "asdf"¶ó´Â °ªÀÌ µé¾î°¡°Ô µÇÁö¿ä. ±×¸®°í´Â ¼ºí¸´ÀÌ ½ÇÇàµÈ ½Ã°¢À» ¾Ë¾Æ³»¼ °°ÀÌ HTMLÇü½ÄÀ¸·Î Ãâ·ÂÀ» ÇØ ÁÝ´Ï´Ù. °á°ú°¡ Àß ³ª¿À°ÚÁö¿ä. ±× °á°ú´Â ¿©±â¼ È®ÀÎ ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù. ¨Ï 1999 Lee Min Goo, All rights are reserved Last modified 1999 If you have any question, send mail to bluehope |