¼Ò¼³°°Àº ÀÚ¹Ù 4ºÎ  Á¦16Àå ³×Æ®¿÷ÀÇ ±âº»  16.4 URLConnection Ŭ·¡½º  

 

16.4 URLConnection Ŭ·¡½º

 

URLConnection Ŭ·¡½º´Â Application°ú URL°£ÀÇ Åë½Å¸µÅ©¸¦ À§ÇÑ ÀÛ¾÷À» ¼öÇàÇÕ´Ï´Ù. ³×Æ®¿÷ÀÇ ÀϹÝÀûÀÎ ÀÛ¾÷µéÀº ¸ÕÀú Connection ¿¬°áÀ» ÇÑ ÈÄ, ±× Connection¿¡ ¿¬°áµÇ¾î ÀÖ´Â ½ºÆ®¸²À» »ý¼ºÇÕ´Ï´Ù.

 

URLŬ·¡½º´Â URLConnectionŬ·¡½ºÀÇ ±â´ÉÀ» ³»ºÎÀûÀ¸·Î ¼öÇàÇϰí ÀÖ½À´Ï´Ù. ¾Õ ÀýÀÇ URLŬ·¡½º ¿¹Á¦¿¡¼­ ¿©·¯ºÐÀº URLConnection¾øÀÌ ConnectionÀ» ÀÚµ¿À¸·Î ¿­°í ½ºÆ®¸²À» »ý¼ºÇÏ´Â °ÍÀ» º¸¾ÒÀ» °ÍÀÔ´Ï´Ù. Áï, À̰ÍÀº URLŬ·¡½º°¡ URLConnectionÀÇ ÀÛ¾÷À» ³»ºÎÀûÀ¸·Î ó¸®ÇÑ´Ù°í º¼ ¼ö ÀÖ½À´Ï´Ù.

 

´ÙÀ½ ¿¹Á¦µéÀº ƯÁ¤ URL·ÎºÎÅÍ µ¥ÀÌÅ͸¦ Àоî Äֿܼ¡ Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ÀÔ´Ï´Ù. URLŬ·¡½º¿Í URLConnectionŬ·¡½ºÀÇ °ü°è¸¦ »ý°¢ÇÏ¿© µû·Î ÀÛ¼ºÇÑ °ÍÀÔ´Ï´Ù. ÀÌ ¿¹Á¦ µÑÀ» Àß ºñ±³ÇϽøé URLŬ·¡½º¿Í URLConnectionŬ·¡½º¿ÍÀÇ °ü°è¸¦ ÀÌÇØ ÇÏ½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.

 

URLRead.java(URLŬ·¡½º·Î ½ºÆ®¸² ¹Þ±â)

import java.net.*;

import java.io.*;

public class URLRead {

   public static void main(String[] args) throws Exception {

       URL ocu = new URL("http://www.jabook.org/");

       BufferedReader in = new BufferedReader(new InputStreamReader(ocu.openStream()));

       String inputLine;        

       while ((inputLine = in.readLine()) != null)

          System.out.println(inputLine);

       in.close();    

   }

}

C:\JavaExample\16>javac URLRead.java

C:\JavaExample\16>java URLRead

<html>

<head>

<title>º¸¼®ÀÚ¹Ù</title>

</head>

    <frameset rows="42,100%" frameborder=0 border=0>

    <frame src="head.html" name="menuhead" scrolling="no" marginwidth="0

" marginheight="0" target="_self" noresize>

      <frame name="down" src="intro.html" scrolling="auto">

    </frameset>

</html>

 

URLConnectionRead.java(URLConnectionÀÌ¿ëÇϱâ)

import java.net.*;

import java.io.*;

public class URLConnectionRead {

   public static void main(String[] args) throws Exception {

       URL ocu = new URL("http://www.jabook.org/");

       URLConnection con = ocu.openConnection();

        BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));

       String inputLine;

       while ((inputLine = in.readLine()) != null)

       System.out.println(inputLine);

       in.close();    

   }

}

C:\JavaExample\16>javac URLConnectionRead.java

C:\JavaExample\16>java URLConnectionRead

<html>

<head>

<title>º¸¼®ÀÚ¹Ù</title>

</head>

    <frameset rows="42,100%" frameborder=0 border=0>

    <frame src="head.html" name="menuhead" scrolling="no" marginwidth="0

" marginheight="0" target="_self" noresize>

      <frame name="down" src="intro.html" scrolling="auto">

    </frameset>

</html>

 

URLRead.java ¿¹Á¦´Â URLŬ·¡½º¿¡¼­ ÀÌ¹Ì ³íÀÇÇÑ ¹Ù Àֱ⠶§¹®¿¡ ½±°Ô ÀÌÇØ ÇÏ½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ¹®Á¦´Â URLConnectionRead.javaÀÇ URLConnectionºÎºÐÀÔ´Ï´Ù. ½ÇÁ¦·Î´Â URLConnectionÀ» »ç¿ëÇÏ¿© Connection¼³Á¤ºÎÅÍ ÇÏ´Â °ÍÀÌ Á¤¼®ÀÔ´Ï´Ù. ÇÏÁö¸¸, Áö¸§±æÀ̶ó´Â °Íµµ ÀÖÁö ¾Ê°Ú½À´Ï±î? ½±°Ô »ý°¢ ÇØ¼­ URLRead.java ¿¹Á¦°¡ Áö¸§±æÀ̶ó¸é URLConnectionRead.java ¿¹Á¦´Â Á¤¼®À̶ó°í º¸½Ã¸é ÆíÇÏ½Ç °Ì´Ï´Ù.

 

±×·³ ¸ÕÀú URLŬ·¡½º¿¡¼­ URLConnectionŬ·¡½º¸¦ »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¸µµ·Ï ÇϰڽÀ´Ï´Ù. ±× °úÁ¤À» º¸¸é ´ÙÀ½°ú °°½À´Ï´Ù.

 

n        URL ocu = new URL("http://www.jabook.org/"); à URLŬ·¡½º »ý¼º

n        URLConnection con = ocu.openConnection(); à URLŬ·¡½º¿¡¼­ Connection¼³Á¤

n        con.getInputStream() à URLConnectionŬ·¡½º¿¡¼­ ÀԷ½ºÆ®¸²¼³Á¤

 

ÁöÁ¤µÈ URL·Î URLŬ·¡½º °´Ã¼¸¦ »ý¼ºÇϰí, openConnection()¸Þ¼­µå¸¦ ÅëÇØ URLConnectionÀÇ Á¢¼Ó°´Ã¼¸¦ »ý¼ºÇÏ¿© ÁÖ¾îÁø URL¿¡ Á¢¼Ó Çϰí ÀÖ½À´Ï´Ù. ±×¸®°í ³ª¼­ URLConnection °´Ã¼·ÎºÎÅÍ InputStreamÀ» ±¸Çϰí, À̸¦ ¹®ÀÚ µ¥ÀÌÅ͸¦ Àб⿡ Æí¸®ÇÑ InputStreamReader·Î ½Ô´Ï´Ù. ´Ù½Ã À̸¦ È¿°úÀûÀ¸·Î Àбâ À§ÇØ ¹öÆÛÈ­µÈ ÀԷ½ºÆ®¸² BufferedReader·Î ½Î¼­ ÃÖÁ¾ÀûÀÎ ÀԷ½ºÆ®¸²À» ¸¸µé¾î ÁÖ¾ú½À´Ï´Ù.

 

±× ÀÌ¿ÜÀÇ ÀÛ¾÷µéÀº URLŬ·¡½º¿Í µ¿ÀÏÇÕ´Ï´Ù. ¿ì¸®´Â URLŬ·¡½º¿¡¼­ ½±°Ô À§ÀÇ ¾Æ·§ºÎºÐ µÎ ÁÙÀ» ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

 

n        ocu.openStream();

 

ÀÌÁ¦ ÀÌ ÀýÀÇ ¼­µÎ¿¡¼­ ¼³¸íÇÑ ¡®URLŬ·¡½º°¡ URLConnectionÀÇ ÀÛ¾÷À» ³»ºÎÀûÀ¸·Î ó¸®ÇÑ´Ù¡¯´Â ¸»À» ÀÌÇØ ÇϽðڽÀ´Ï±î? ÀÌ ¸»Àº Áï, URLŬ·¡½ºÀÇ openStream()¸Þ¼­µå ³»ºÎ¿¡¼­ URLConnectionÀÛ¾÷ÀÌ ÀÌ·çÁø´Ù°í º¸½Ã¸é µÉ °ÍÀÔ´Ï´Ù.

 

Áö±Ý±îÁö ¿ì¸®´Â URLConnection °´Ã¼¸¦ ÅëÇØ URL °´Ã¼°¡ ÂüÁ¶ÇÏ´Â ÀÚ¿ø¿¡ ´ëÇØ ÀÐ¾î ¿À´Â °Íµé¸¸ ºÁ ¿Ô½À´Ï´Ù. ÇÏÁö¸¸ ÀÌ URLConnection °´Ã¼´Â URL °´Ã¼¸¦ ÀÐ±â »Ó ¾Æ´Ï¶ó ¾²±âµµ ÇÕ´Ï´Ù. À̸¦ ÀÚ¹Ù Æ©Å͸®¾ó(The JavaTM Tutorial)À» ÂüÁ¶Çϸ鼭 ¼³¸íÀ» ÇØº¸µµ·Ï ÇϰڽÀ´Ï´Ù.

 

»ç½Ç URL ÀÚ¿øÀº ¼­¹öÃø¿¡ ÀÖ°í, ÀÌ¿¡ Á¢±ÙÇϰíÀÚ ÇÏ´Â URL ¾ÖÇø®ÄÉÀ̼ÇÀº Ŭ¶óÀÌ¾ðÆ® Ãø ÇÁ·Î±×·¥ÀÔ´Ï´Ù. URL¿¡ µ¥ÀÌÅÍ ¾´´Ù´Â °ÍÀº Ŭ¶óÀÌ¾ðÆ®°¡ ¼­¹ö¿¡ ¼­ºñ½º¸¦ ¿äûÇϱâ À§ÇØ º¸³»´Â ÁúÀÇ(query)ÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ÁúÀÇ´Â º¸Åë html formÀ» ÅëÇØ ÀÌ·ç¾îÁö°í, ¼­¹ö´Â ÀÌ ÁúÀǸ¦ ¹Þ¾Æ ±×¿¡ µû¸¥ 󸮸¦ ÇÏ¿© Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÀ´äÇÕ´Ï´Ù. ±×·¯¸é Ŭ¶óÀÌ¾ðÆ®´Â ¼­¹ö·ÎºÎÅÍ ¹ÞÀº ÀÀ´äÀ» Àоî Ãâ·ÂÇÕ´Ï´Ù.

 

¿ì¸®´Â ¿©±â¼­ ¼­¹öÃø ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏÁö´Â ¾Ê°í ´Ù¸¸ ÀÀ´äÀ» ÇÒ ¼ö ÀÖ´Â cgi ½ºÅ©¸³Æ® ÀÚ¿øÀ» URL·Î ÇÏ¿© ÀÌ¿¡ ÁúÀǸ¦ º¸³»°í, °Å±â¼­ ¿Â ÀÀ´äÀ» DOS â¿¡¼­ ½Ã½ºÅÛ Ãâ·ÂÇϰíÀÚ ÇÕ´Ï´Ù. ¿ì¸®°¡ Á¢±ÙÇÒ cgi ÀÚ¿øÀº ¡®http://java.sun.com/cgi-bin/backwards¡¯ ÀÔ´Ï´Ù. À̴ Ŭ¶óÀÌ¾ðÆ®°¡ º¸³½ ½ºÆ®¸µÀ» ±× ¼ø¼­¸¦ µÚÁý¾î µÇº¸³»´Â pearl·Î ÀÛ¼ºÇÑ cgi ½ºÅ©¸³Æ®ÀÔ´Ï´Ù.

 

°¡·É DOS âÀÇ ¸í·ÉÇàÀ» ÅëÇØ ¸í·ÉÇà ÀÎÀÚ·Î "java"¸¦ »ç¿ëÇØ ÇÁ·Î±×·¥À» ½ÇÇàÇϸé, ¼­¹öÃøÀÇ cgi ½ºÅ©¸³Æ® backwards °¡ ÀÌ "java"¸¦ ¹®ÀÚ ¼ø¼­¸¦ µÚÁýÀº "avaj"¸¦ Ŭ¶óÀÌ¾ðÆ®¿¡ Àü´ÞÇϰí, Ŭ¶óÀ̾ðÆ®(¿ì¸®ÀÇ ½ÃÇè ÇÁ·Î±×·¥)Àº ±× °á°ú¸¦ ½Ã½ºÅÛ Ãâ·ÂÇϵµ·Ï ÇÏ´Â °Í ¿ì¸® ½ÃÇè ÇÁ·Î±×·¥ÀÇ ¸ñÀûÀÔ´Ï´Ù. ÀÌÇØÇϱâ Èûµå½ÃÁÒ? ´ÙÀ½ ¿¹Á¦¸¦ º¸¸é¼­ ¼³¸íÀ» ÇØ º¸°Ú½À´Ï´Ù.

 

URLConnectionRead.java(URLConnectionÀÌ¿ëÇϱâ)

import java.io.*;

import java.net.*;

public class Reverse {

    public static void main(String[] args) throws Exception {

        if (args.length != 1) {

            System.err.println("´ÙÀ½ Çü½ÄÀ¸·Î ÀÔ·ÂÇϼ¼¿ä.");

            System.err.println("java Reverse \"string\"");

            System.exit(1);

        }

        String stringToReverse = URLEncoder.encode(args[0]);

        URL url = new URL("http://java.sun.com/cgi-bin/backwards");

        URLConnection connection = url.openConnection();

        connection.setDoOutput(true);

        PrintWriter out = new PrintWriter(connection.getOutputStream());

        out.println("string=" + stringToReverse);

        out.close();

        BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));

        String inputLine;

        while ((inputLine = in.readLine()) != null)

            System.out.println(inputLine);

        in.close();

    }

}

C:\JavaExample\16>javac Reverse.java

C:\JavaExample\16>java Reverse www.jabook.org

www.jabook.org

 reversed is:

gro.koobaj.www

 

ÇÁ·Î±×·¥À» ½ÇÇàÇϱâ À§Çؼ­´Â ½ÇÇà ¹® ¸¶Áö¸·¿¡ Ãâ·ÂÇÒ ¹®ÀÚ¸¦ ³Ö¾îÁà¾ß ÇÕ´Ï´Ù ¾È ±×·¯¸é ¼­¹öÃø¿¡¼­ ¾Æ¹«·± ´ë´äÀ» ÇÒ ¼ö°¡ ¾ø°ÚÁÒ. ¸í·ÉÇàÀÎÀÚÀÇ ¹è¿­ ±æÀ̰¡ 1ÀÌ ¾Æ´Ï¸é, Áï, ¸í·ÉÇàÀÎÀÚ°¡ ¾ø°Å³ª 2°³ ÀÌ»óÀÌ¸é ¿À·ù ¸Þ½ÃÁö¸¦ Ãâ·ÂÇϰí ÇÁ·Î±×·¥À» ¸¶Ä¨´Ï´Ù.

 

n        if (args.length != 1) {

n           System.err.println("´ÙÀ½ Çü½ÄÀ¸·Î ÀÔ·ÂÇϼ¼¿ä.");

n           System.err.println("java Reverse \"string\"");

n           System.exit(1);

n        }

 

µµ½º ¸í·ÉÀ» Á¤È®È÷ ÀÔ·ÂÇÏ¿´À¸¸é, ¸í·ÉÇàÀÎÀÚ args[0]¸¦ Àоî StringÇü º¯¼ö stringToReverse¿¡ ÀúÀåÇÕ´Ï´Ù. ¿©±â¼­ óÀ½ º» Ŭ·¡½º°¡ ³ªÅ¸³µÁÒ? ÀÌ URLEncoderŬ·¡½º´Â Àü´Þ ¹ÞÀº StringÀ» x-www-form-urlencoded Çü½ÄÀÇ MIME À¯Çü¿¡ ¸Âµµ·Ï º¯È¯½Ãŵ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº ´ÙÀ½ Àý¿¡¼­ ´Ù·ç±â·Î ÇϰڽÀ´Ï´Ù.

 

n        String stringToReverse = URLEncoder.encode(args[0]);

 

URL°´Ã¼¸¦ »ý¼ºÇÏ¿© ÁÖ¾îÁø URL¿¡ Á¢¼ÓÀ» ÇÕ´Ï´Ù.

 

n        URL url = new URL("http://java.sun.com/cgi-bin/backwards");

n        URLConnection c = url.openConnection();

 

¿©±â¼­ URL Á¢¼Ó °´Ã¼ c¸¦ URLConnection °³Ã¼¿¡ ¾²±â °¡´ÉÇϵµ·Ï ÁöÁ¤ÇÕ´Ï´Ù. setDoOutput()¸Þ¼­µåÀÇ µðÆúÆ® °ªÀº falseÀ̹ǷÎ, true·Î ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¾²±â°¡ ºÒ°¡´ÉÇÕ´Ï´Ù.

 

n        c.setDoOutput(true);

 

ÇöÀç ¿­·ÁÀÖ´Â URLConnectionÀ» ÅëÇØ µ¥ÀÌÅ͸¦ ¾²´Â Ãâ·Â½ºÆ®¸² PrintWriter¸¦ ¿­¾î  À̸¦ ÅëÇØ ¼­¹öÃø¿¡ ÁúÀǸ¦ ÇÕ´Ï´Ù.

 

n        PrintWriter out = new PrintWriter(c.getOutputStream());

n        out.println("string=" + stringToReverse);

 

Ãâ·Â½ºÆ®¸²À» ´Ý½À´Ï´Ù.

 

n        out.close();

 

±× µÚ¿¡ ¿À´Â ¼Ò½ºµéÀº ÀÌ¹Ì ¼³¸íÇÏ¿´À¸´Ï µû·Î ¼³¸íÇÏÁö ¾Ê°Ú½À´Ï´Ù. ´ç¿¬ URL¿¡ Á¢¼ÓÀ» ÇßÀ¸´Ï ÁÖ¾îÁø Á¤º¸µéÀ» ÀÐ¾î µéÀ̰ÚÁÒ?

 

URLConnectionŬ·¡½ºÀÇ »ý¼ºÀÚ¸Þ¼­µå

protected URLConnection(URL url) : ÁöÁ¤µÈ URL·ÎÀÇ URL ¿¬°áÀ» ±¸¼ºÇÑ´Ù. URL¿¡ ÀÇÇØ ÂüÁ¶µÇ´Â °´Ã¼·ÎÀÇ ¿¬°áÀÌ ÀÛ¼ºµÇÁö ¾Ê´Â´Ù.

 

URLConnectionŬ·¡½ºÀÇ ÁÖ¿ä ¸â¹ö¸Þ¼­µå

public abstract void connect() throws IOException : ¾ÆÁ÷ Á¢¼ÓÀÌ ÀÌ·ç¾îÁöÁö ¾ÊÀº °æ¿ì ÇöÀç URL ÀÌ ÂüÁ¶ÇÏ´Â ÀÚ¿ø¿¡ ´ëÇÑ Åë½Å ¸µÅ©¸¦ ¿¬´Ù. ÀÌ¹Ì Á¢¼ÓÀÌ ÀÌ·ç¾îÁø °æ¿ì´Â º° ´Ù¸¥ Á¶Ã³¸¦ ÃëÇÏÁö ¾Ê´Â´Ù. ÀÌ ¸Þ¼­µå´Â Ãß»ó ¸Þ¼­µåÀ̹ǷΠ°¢ ÇÁ·ÎÅäÄÝ¿¡ µû¸¥ URLConnection ºÎºÐ Ŭ·¡½º¿¡¼­ ±¸Ã¼ÀûÀÎ Á¢¼Ó ¹æ¹ýÀÌ Á¤ÀǵǾî¾ß ÇÑ´Ù.

public void setDoInput(boolean doinput) : URLConnection¿¡ ´ëÇÑ doInput Çʵ尪À» ÁöÁ¤µÈ °ªÀ¸·Î ¼³Á¤ÇÑ´Ù. URL ¿¬°áÀº ÀÔÃâ·Â¿¡ »ç¿ëµÉ ¼ö ÀÖ´Ù. URL ¿¬°áÀ» ÀԷ¿ëÀ¸·Î »ç¿ëÇÏ·Á´Â °æ¿ì DoInput Ç÷¡±×¸¦ true·Î ¼³Á¤Çϰí, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false·Î ¼³Á¤ÇØ¾ß ÇÑ´Ù. ±âº»°ªÀº DoOutputÀÌ ¸í½ÃÀûÀ¸·Î true·Î ¼³Á¤µÇÁö ¾ÊÀº °æ¿ì trueÀ̸ç, À̶§ DoInputÀÇ ±âº»°ªÀº falseÀÌ´Ù.

public InputStream getInputStream() throws IOException : ¿­¸° ¿¬°á¿¡¼­ ÀÐÀº ÀÔ·Â ½ºÆ®¸²À» ¸®ÅÏÇÑ´Ù.

public void setDoOutput(boolean dooutput) : URLConnection¿¡ ´ëÇÑ doOutput Çʵ尪À» ÁöÁ¤µÈ °ªÀ¸·Î ¼³Á¤ÇÑ´Ù. URL ¿¬°áÀº ÀÔÃâ·Â¿¡ »ç¿ëµÉ ¼ö ÀÖ´Ù. URL ¿¬°áÀ» Ãâ·Â¿ëÀ¸·Î »ç¿ëÇÏ·Á´Â °æ¿ì DoOutput Ç÷¡±×¸¦ true·Î ¼³Á¤Çϰí, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false·Î ¼³Á¤ÇØ¾ß ÇÑ´Ù. ±âº»°ªÀº falseÀÌ´Ù.

public OutputStream getOutputStream() throws IOException : ¿¬°á¿¡ ±â·ÏÇÑ Ãâ·Â ½ºÆ®¸²À» ¸®ÅÏÇÑ´Ù.

public String getHeaderField(int n) : n¹øÂ° Çì´õ ÇʵåÀÇ °ªÀ» µÇµ¹¸°´Ù. ¸¸¾à ÀÌ Çì´õ¿¡ nº¸´Ù ÀûÀº Çʵ尡 ÀÖÀ¸¸é nullÀ» µÇµ¹¸°´Ù.

public Object getContent() throws IOException : ÇöÀç URLConnectionÀÇ ÄÁÅÙÃ÷¸¦ °Ë»öÇÏ¿© ±× °á°ú¸¦ µÇµ¹¸°´Ù. ÀÌ ¶§ ¸ÕÀú getContentType()¸Þ¼­µå¸¦ È£ÃâÇØ ÇöÀç URLConnectionÀÇ ÄÁÅÙÆ® À¯ÇüÀ» °áÁ¤Çϴµ¥, ¸¸¾à ÀÌ ÄÁÅÙÆ® À¯ÇüÀÌ ÀÌ¹Ì ¾Ë°í ÀÖ´Â °ÍÀÌ ¾Æ´Ï°í óÀ½ º¸´Â °ÍÀ̶ó¸é ´ÙÀ½ °úÁ¤À» ÅëÇØ ÀÌ À¯Çü¿¡ ´ëÇÑ ÄÁÅÙÆ® Çîµé·¯content handler°¡ »ý¼ºµÈ´Ù. 

1. ¸¸¾à ¾ÖÇø®ÄÉÀ̼ÇÀÌ setContentHandlerFactory()¸Þ¼­µå¸¦ ÀÌ¿ëÇØ ÄÁÅÙÆ® Çîµé·¯ °øÀå ÀνºÅϽº¸¦ ¼³Ä¡Çß´Ù¸é, ÀÌ ÀνºÅϽºÀÇ createContentHandler()¸Þ¼­µå°¡ ±× ÄÁÅÙÆ® À¯ÇüÀ» ÀÎÀÚ·Î ÇÏ¿© È£ÃâµÈ´Ù. ±×·¯¸é ±× ÄÁÅÙÆ® À¯Çü¿¡ ¸Â´Â ÄÁÅÙÆ® Çîµé·¯°¡ µÇµ¹·ÁÁø´Ù. 

2. ¸¸¾à ¾ÆÁ÷ ÄÁÅÙÆ® Çîµé·¯ °øÀå ÀνºÅϽº°¡ ¼³Ä¡µÇÁö ¾Ê¾Ò°Å³ª createContentHandler()¸Þ¼­µå°¡ nullÀ» µÇµ¹¸®¸é, ±× ¾ÖÇø®ÄÉÀ̼ÇÀº ´ÙÀ½°ú °°Àº ¸íĪÀÇ Å¬·¡½º¸¦ žÀçÇÑ´Ù. 

¡®sun.net.www.content.<contentType>¡¯ ¿©±â¼­ <contentType>´Â ÄÁÅÙÆ® À¯ÇüÀ» ³ªÅ¸³»´Â ½ºÆ®¸µÀ¸·Î, ÀÌ ½ºÆ®¸µ Áß¿¡ ¸ðµç ½½·¡½Ã '/'´Â ¸¶Ä§Ç¥ '.'·Î, ¾ËÆÄ´º¸Þ¸¯ ¹®ÀÚ(¿µ¹®ÀÚ ¾ËÆÄºª ¹× ¼ýÀÚ)°¡ ¾Æ´Ñ °ÍÀº ¹ØÁÙ '_'·Î ´ëÄ¡µÈ´Ù. 

3. ¸¸¾à ÁöÁ¤ÇÑ Å¬·¡½º°¡ Á¸ÀçÇÏÁö ¾Ê°Å³ª, ÀÖ´õ¶óµµ ±×°ÍÀÌ ContentHandlerÀÇ ºÎºÐŬ·¡½º°¡ ¾Æ´Ï¸é, UnknownServiceException°¡ ´øÁ®Áø´Ù.

 

±×·³ ¡®¿Ö URLConnection Ŭ·¡½º°¡ Á¸ÀçÇϸç, ¾î¶² ¿ëµµ·Î »ç¿ëÇÏ´Â °ÍÀϱî?¡¯ ÇÏ´Â Àǹ®ÀÌ »ý±âÁö ¾Ê½À´Ï±î? ´ÙÇàÈ÷µµ get¹æ½ÄÀÇ µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ °æ¿ì URL¿¡ ÷ºÎ½ÃŰ¸é µÇÁö¸¸ Post¹æ½ÄÀÏ ¶§´Â ¾î¶»°Ô ÇÒ±î¿ä? ¹Ù·Î ¹®Á¦´Â ¿©±â¿¡ ÀÖ½À´Ï´Ù. ¿©·¯ºÐÀÌ Post¹æ½ÄÀ¸·Î µ¥ÀÌÅ͸¦ ¸ÕÀú º¸³»°í ±× °á°ú¸¦ ¹Þ±â À§Çؼ­´Â URLConnectionŬ·¡½º¸¦ ÀÌ¿ëÇØ¼­ ÀÌ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù.  Áï, À̰ÍÀº HTTPÀÇ ¼Û½Å ¸í·ÉÀÎ POST¿Í °°Àº ±â´ÉÀ» ½ÇÇàÇÒ ¶§ »ç¿ëÇÑ´Ù°í º¸¸é ÆíÇÒ °ÍÀÔ´Ï´Ù. À̰Ϳ¡ °ü·ÃµÈ ¿¹Á¦´Â URLEncdoer¿Í URLDecoderÀýÀ» Âü°íÇϽñ⠹ٶø´Ï´Ù.

 

¢Ñ URLConnectionŬ·¡½º

Application°ú URL°£ÀÇ Åë½Å¸µÅ©¸¦ À§ÇÑ ÀÛ¾÷À» ¼öÇàÇÑ´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù4ºÎ
ÀúÀÚ:ÃÖ¿µ°ü