· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/Java-CGI-HOWTO

Java CGI HOWTO

Java CGI HOWTO

by David H. Silber javacgi-document@orbits.com

1998³â 12¿ù 1ÀÏ ¹öÀü 0.5 ¿Å±äÀÌ: ¹ÚÁÖÈñ(jhpark@osnn.hanyang.ac.kr)
ÀÌ HOWTO ¹®¼­´Â ¾î¶»°Ô ÀÚ¹Ù·Î ÀÛ¼ºµÈ CGI ÇÁ·Î±×·¥ÀÌ ¼­¹ö¿¡¼­ »ç¿ë°¡´É Çϵµ·Ï ¼³Á¤ ÇÏ¸ç ¶Ç CGI ÇÁ·Î±×·¥À» ÀÛ¼ºÇϱâ À§ÇØ ¾î¶»°Ô ÀÚ¹Ù¸¦ »ç¿ëÇÏ´ÂÁö¸¦ ¼³¸íÇÑ´Ù. HOWTO ¹®¼­µéÀº ¸®´ª½º ¿î¿µÃ¼Á¦¿¡¼­ÀÇ »ç¿ëÀ» ¸ñÀûÀ¸·Î ÀÛ¼ºµÇÁö¸¸, ƯÁ¤ÇÑ À¯´Ð½º ¹öÀü¿¡ »ó°ü ¾øÀÌ Àû¿ëµÈ´Ù.

1. ¼Ò°³

ÀÚ¹Ù°¡ µðÀÚÀÎµÈ ¹æ½Ä ¶§¹®¿¡ ÇÁ·Î±×·¡¸Ó´Â ½Ã½ºÅÛÀÇ È¯°æ º¯¼öµéÀ» ½±°Ô ¾×¼¼½ºÇÒ ¼ö ¾ø´Ù. Java Development Kit (JDK)°¡ ¼Â¾÷µÈ ¹æ½Ä ¶§¹®¿¡, ÇÁ·Î±×·¥À» È£ÃâÇϱâ À§Çؼ­´Â ¿©·¯ °³ÀÇ ÅäÅ«À» ÀÌ¿ëÇØ¾ß Çϸç, À̰͵µ Ç¥ÁØ HTMLÆû/CGI ÀÛµ¿¹æ½Ä°ú Àß ¸ÂÁö ¾Ê´Â´Ù. ÀÌ·¯ÇÑ ÇѰ迡 ´ëÇÑ ¸î °¡Áö ¹æ¹ýÀÌ ÀÖÀ¸¸ç, ÇÊÀÚ°¡ ±× Áß Çϳª¸¦ ±¸ÇöÇÏ¿´´Ù.ÀÚ¼¼ÇÑ °ÍÀº µÚ¸¦ ´õ Àо±æ ¹Ù¶õ´Ù. ÀÌÀüÀÇ ¹®´ÜÀ» 1996³â¿¡ ÀÛ¼ºÇÑ ÀÌ·¡·Î ÀÚ¹ÙÀÇ ±â¼ú¿¡µµ ¸¹Àº º¯È­°¡ ÀÖ¾î¿Ô´Ù. ¼­¹ö-Ãø(server-side) ÀÚ¹Ù ÇÁ·Î±×·¥À» ½ÇÇà½ÃŰ´Â °ÍÀÌ ´õ ³ªÀº ¹æ¹ýÀÏ ¼ö ÀÖÀ¸¸ç -- ¼­ºê¸´ÂÊÀ» »ìÆìº¸¾Æµµ ±¦ÂúÀ» °ÍÀÌ´Ù.

1.1 »çÀü Áö½Ä

ÇÊÀÚ´Â µ¶ÀÚµéÀÌ HTML°ú CGI °³³äµé¿¡ °üÇÑ ÀϹÝÀû Áö½Ä°ú ÃÖ¼ÒÇÑÀÇ HTTP¼­¹ö¿¡ °üÇÏ¿© ±âº»ÀûÀÎ Áö½ÄÀ» °®°í ÀÖ´Ù°í °¡Á¤ÇÑ´Ù. ¹°·Ð ÀÚ¹Ù·Î ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â ¹ýÀ» ¾Ë¾Æ¾ß ÇÏ¸ç ±×·¸Áö ¸øÇϸé ÀÌ ¹®¼­´Â ÀÌÇØÇϱâ Èûµé´Ù.

1.2 º» ¹®¼­¿¡ °üÇÏ¿©

º» ¹®¼­ÀÇ ÃÖ±Ù ÆÇÀº http://www.orbits.com/software/Java_CGI.html¿¡¼­ ÀÐÀ» ¼ö ÀÖ´Ù.

1.3 ÆÐŰÁö

º» ¹®¼­¿¡¼­ ¼³¸íÇÏ´Â ÆÐŰÁö´Â ´ÙÀ½ÀÇ anonymous FTP¿¡¼­ ¿¢¼¼½ºÇÒ ¼ö ÀÖ´Ù. ftp://ftp.orbits.com/pub/software/java_cgi-0.5.tgz. ÆÐŰÁö¿¡´Â º» ¹®¼­ÀÇ SGML ¼Ò½ºµµ Æ÷ÇԵǾî ÀÖ´Ù. º» ÆÐŰÁö´Â GNU Library General Public License Á¶Ç׿¡ ÀǰÅÇØ ¹èÆ÷µÈ´Ù. º» ¹®¼­´Â ¸®´ª½º HOWTO ÆÇ±Ç(copyright) ÁÖÀÇ»çÇ׿¡ ÀǰÅÇØ¼­ ¹èÆ÷µÈ´Ù.

¸¸¾à º» ¼ÒÇÁÆ®¿þ¾î¸¦ »ç¿ëÇÑ´Ù¸é, ´Ù¸¥ »ç¶÷µéÀÌ Java CGIŬ·¡½º¸¦ ãÀ» ¼ö ÀÖµµ·Ï http://www.orbits.com/software/Java_CGI.html¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù.

ÇÊÀÚ°¡ º» ÆÐŰÁö¸¦ À¯ÁöÇϰí Áö¿øÇϴµ¥ »ç¿ëÇÒ ½Ã°£ÀÌ ¾ø¾î¼­ º» ¹®¼­°¡ ¾Æ¸¶ ¸¶Áö¸· ÆÇÀÌ µÉ °ÍÀÌ´Ù. ¾Æ¹«¶óµµ º» ¼ÒÇÁÆ®¿þ¾î¸¦ ¾Æ³¢¾î À¯Áöº¸¼ö¸¦ ÀμöÇÏ·Á ÇÑ´Ù¸é, javacgi-document@orbits.comÀ¸·Î ¿¬¶ô ¹Ù¶õ´Ù.

1.4 ¸ÞÀϸµ ¸®½ºÆ®

»ç¶÷µéÀÌ º» ¼ÒÇÁÆ®¿þ¾î¸¦ ÀνºÅçÇÏ°í »ç¿ëÇϴµ¥ À־ÀÇ »óÈ£ÀÇ ¹®Á¦Á¡µéÀ» ¼­·Î µ½°íÀÚ ÇÊÀÚ°¡ majordomo (¿ªÀÚÁÖ:¸ÞÀϸµ ¸®½ºÆ® ¸Þ´ÏÀúÀÇ Çϳª) ¸®½ºÆ®¸¦ ¸¸µé¾ú´Ù. subscribe¶ó´Â ¸»À» Àû¾î¼­ javacgi-request@orbits.com·Î ¸Þ½ÃÁö¸¦ º¸³»±â ¹Ù¶õ´Ù.

2. ÀÚ¹Ù CGIÇÁ·Î±×·¥À» ½ÇÇàÇϱâ À§ÇØ ¼­¹ö ¼ÂÆÃÇϱâ (¼³¸í ÷ºÎ)

ÀÌ ºÎºÐÀº ¼³Ä¡ ÀÛ¾÷ÀÌ ¾î¶² ¿µÇâÀ» ³¢Ä¡´ÂÁö ¿©·¯ºÐ ÀÚ½ÅÀÌ ¾Ë°Ô Çϱâ À§ÇØ Ç³ºÎÇÑ ¼³¸í°ú ÇÔ²² ÇÊÀÚÀÇ Java CGI ÆÐŰÁö¸¦ ÀνºÅç ÇÒ °ÍÀÌ´Ù. ¸¸¾à º» ÇÁ·Î±×·¥À» ÀνºÅ縸 ÇÏ°í ¿ÖÀÎÁö ±×¸®°í ¿Ö ±×·¡¾ß¸¸ ÇÏ´ÂÁö¿¡ ´ëÇÑ °ÍÀº ½Å°æ ¾² Áö ¾Ê´Â´Ù¸é, ´ÙÀ½À¸·Î ³Ñ¾î°¡¶ó. ÀÚ¹Ù CGIÇÁ·Î±×·¥À» ½ÇÇàÇϱâ À§ÇØ ¼­¹ö ¼ÂÆÃÇϱâ (¿ä¾à).

2.1 ½Ã½ºÅÛ ¿ä±¸»çÇ×

º» ¼ÒÇÁÆ®¿þ¾î´Â Java Development KitÀÌ ÀνºÅçµÈ ´ëºÎºÐÀÇ À¯´Ð½º ÇüÅÂÀÇ À¥ ¼­¹ö¿¡¼­ ÀÛµ¿ÇÒ °ÍÀÌ´Ù. ÇÊÀÚ´Â apache¸¦ HTTP µ¥¸óÀ¸·Î ½ÇÇà½Ã۸ç Debian Linux¸¦ »ç ¿ëÇϰí ÀÖ´Ù. ¸¸¾à ½ÇÇàµÇÁö ¾ÊÀ¸¸é, ¸ÞÀϸµ ¸®½ºÆ®¸¦ ã¾Æº¸±æ ¹Ù¶õ´Ù. ÀÚ¼¼ÇÑ °ÍÀº ¸ÞÀϸµ ¸®½ºÆ®¸¦ ÂüÁ¶Ç϶ó. ºÒÇàÈ÷µµ ÀÚ¹Ù ·±Å¸ÀÓ ÀÎÅÍÇÁ¸®ÅÍ´Â ¸Þ¸ð¸®¸¦ ¸¹ÀÌ ÇÊ¿ä·Î ÇÏ´Â °Í °°´Ù-- Java CGI ÇÁ·Î±×·¥µéÀ» ¿©·¯ ¹ø ½ÇÇàÇÑ´Ù¸é ·¥ÀÌ ´õ ÇÊ¿äÇÒ °ÍÀÌ´Ù.

2.2 Java CGI ¾Öµå-¿Â ¼ÒÇÁÆ®¿þ¾î

º» ¹®¼­¿¡¼­ ¼³¸íÇÏ·Á´Â ¼ÒÇÁÆ®¿þ¾î´Â Java CGI¶ó°í ÇÑ´Ù. ftp://ftp.orbits.com/pub/software/java_cgi-0.5.tgz¿¡¼­ ¾òÀ» ¼ö ÀÖ´Ù. ¹öÀüÀÌ º¯ÇßÀ»Áöµµ ¸ð¸¥´Ù.

2.3 ¼Ò½º ¾ÐÃà Ç®±â

º» ÆÐŰÁö¸¦ Ç®¾î µÑ Àû´çÇÑ µð·ºÅ丮¸¦ ã´Â´Ù. (´Ù¸¥ ÆÐŰÁö¸¦ Ç®¾î µÐ ÀÏÁ¤ÇÑ °÷ÀÌ ¾ø´Ù¸é, /usr/local/src¸¦ »ç¿ëÇ϶ó.) ´ÙÀ½ÀÇ ¸í·ÉÀ¸·Î ¹èÆ÷ÆÇÀ» Ǭ´Ù.

gzip -dc java_cgi-0.5.tgz | tar -xvf -
java_cgi-0.5µð·ºÅ丮°¡ »ý¼ºµÉ °ÍÀÌ´Ù.. °Å±â¿¡ ÀÌ ´ÙÀ½ ´Ü°èºÎÅÍ ÂüÁ¶ ÆÄÀÏÀÌ ÀÖÀ» °ÍÀÌ´Ù. (¹öÀüÀÌ ¹Ù²î¾ú´Ù¸é, Áö±ÝºÎÅÍ´Â ±× ¹èÆ÷ÆÇÀÇ ¼³¸íÀ» Âü°íÇ϶ó)

2.4 Áö¿ª °æ·Î(local path)¿¡ °üÇÑ ¹æÄ§À» Á¤Ç϶ó

Java CGIÇÁ·Î±×·¥µéÀ» ¾îµð¿¡ µÑÁö °áÁ¤ÇÑ´Ù. º¸Åë, cgi-binµð·ºÅ丮¿¡ °°ÀÌ µÑ °ÍÀÌ´Ù. ÇÊÀÚÀÇ apache ¼­¹ö´Â cgi-bin µð·ºÅ丮·Î½á /var/www/cgi-binÀ» »ç¿ëÇÏ°Ô ¼³Á¤µÇ¾î À־, Java CGI ÇÁ·Î±×·¥µéÀ» ³Ö¾îµÑ µð·ºÅ丮·Î´Â /var/www/javacgi¸¦ »ç¿ëÇÑ´Ù. ÁöÁ¤µÈ CLASSPATH µð·ºÅ丮¿¡ Java CGI ÇÁ·Î±×·¥µéÀ» ±ò°í ½ÍÁö ¾ÊÀ» Áöµµ ¸ð¸¥´Ù. ½Ã½ºÅÛ ¼³Á¤À» ¹Ý¿µÇϱâ À§ÇØ MakefileÀ» ÆíÁýÇÑ´Ù. root·Î ·Î±×ÀÎ ÇÑ °ÍÀ» È®ÀÎÇϰí make install À» ½ÇÇàÇÑ´Ù. ÀÌ ¸í·ÉÀÌ ÀÚ¹Ù ÇÁ·Î±×·¥µéÀ» ÄÄÆÄÀÏÇϰí, java.cgi ½ºÅ©¸³Æ®¸¦ ½Ã½ºÅÛ¿¡ ¸Â°Ô º¯°æÇϰí Àû´çÇÑ °÷¿¡ ±× ÇÁ·Î±×·¥µéÀ» ÀνºÅçÇÑ´Ù. Ãß°¡·Î, º» ¹®¼­ÀÇ HTML ¹öÀüÀ̳ª HTMLÅ×½ºÆ® ¹®¼­¸¦ ¿øÇÑ´Ù¸é, ´ë½Å make all À» ½ÇÇàÇÑ´Ù.

2.5 ÀνºÅç Å×½ºÆ®Çϱâ

¹èÆ÷ÆÇÀ¸·ÎºÎÅÍ ÀνºÅçµÈ °ÍÀº javacgitest.html, javaemailtest.html ¿Í javahtmltest.htmlÀ̶ó´Â HTML¹®¼­µéÀÌ´Ù. ¾ÕÀå¿¡¼­ all·Î ÀνºÅçÇß´Ù¸é, Makefile¿¡¼­ WEBDIR·Î ¼³Á¤µÈ µð·ºÅä ¸®¿¡ ÀÌ ¹®¼­µéÀÌ ÀÖÀ» °ÍÀÌ´Ù. ±×·¸Áö ¾Ê´Ù¸é javacgitest.html-dist, javaemailtest.html-dist ¿Í javahtmltest.html-dist·ÎºÎÅÍ ºôµå(build)Çϱâ À§ÇØmake test¸¦ ½ÇÇàÇØ µµ µÈ´Ù. ÀνºÅçÇÑ °ÍÀÌ Á¤È®ÇÏ°Ô µ¿ÀÛÇÒ ¶§, JAVACGI µð·ºÅ丮·ÎºÎÅÍ CGI_Test.class, Email_Test.class¿Í HTML_Test.class¸¦, WEBDIR µð·ºÅ丮·Î ºÎÅÍ´Â javacgitest.html, javaemailtest.html ¿Í javahtmltest.htmlÀ» Áö¿ì°í ½ÍÀ»Áöµµ ¸ð¸¥´Ù. º¸Åë ¼­¹ö¿¡°Ô¸¸ »ç¿ë °¡´ÉÇÑ »ç¿ëÀÚ Á¤º¸¸¦ º¸¿©Áֱ⠶§¹®ÀÌ´Ù.

3. Java CGI ÇÁ·Î±×·¥À» ½ÇÇà½Ã۱â À§ÇÏ¿© ¼­¹ö ¼¼ÆÃÇϱâ(¿ä¾àÇüÅÂ)

  • ftp://ftp.orbits.com/pub/software/java_cgi-0.5.tgz·ÎºÎÅÍ Java CGIÆÐ ŰÁö¸¦ ¾ò´Â´Ù. (¹öÀüÀÌ º¯ÇßÀ»Áöµµ ¸ð¸¥´Ù)
  • ´ÙÀ½ ¸í·É¾î·Î ¹èÆ÷ÆÇÀ» Ǭ´Ù:
    gzip -dc java_cgi-0.5.tgz | tar -xvf -
    
    (¹öÀüÀÌ ¹Ù²î¾ú´Ù¸é, Áö±ÝºÎÅÍ´Â ±× ¹èÆ÷ÆÇÀÇ ¼³¸íÀ» Âü°íÇ϶ó)
  • »õ·ÎÀÌ »ý¼ºµÈjava_cgi-0.5 µð·ºÅ丮¿¡¼­ ½Ã½ºÅÛ¿¡ ¸Â°ÔMakefileÀ» ÆíÁýÇÑ´Ù.
  • root·Î½á make installÀ» ½ÇÇàÇÑ´Ù. ÀÌ ¸í·ÉÀÌ ÀÚ¹Ù ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇϰí, ¿©·¯ºÐÀÇ ½Ã½ºÅÛ¿¡ °ü·ÃµÈ Á¤º¸µéÀ» Àû¿ë(apply)½ÃŰ°í ´Ù¾çÇÑ ÆÄÀϵéÀ» ÀνºÅç ÇÑ´Ù. ¸¸¾à HTML·ÎµÈ º» ¹®¼­¿Í HTMLÅ×½ºÆ® ¹®¼­¸¦ ¿øÇÑ´Ù¸é, ´ë½Å make allÀ» ½ÇÇàÇÑ´Ù.
  • ÀÌÁ¦ Áغñ°¡ µÇ¾ú´Ù.

4. Java CGI ÇÁ·Î±×·¥ ½ÇÇàÇϱâ

4.1 CGI ¸ðµ¨ »ó¿¡¼­ ÀÚ¹Ù ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀ» ¸·´Â Àå¾Ö¹°

À¥ ¼­¹ö¿¡¼­ ÀÚ¹Ù ÇÁ·Î±×·¥À» ½ÇÇà½Ã۴µ¥ À־ µÎ °¡Áö ¹®Á¦Á¡ÀÌ ÀÖ´Ù:

ÀÚ¹Ù ÇÁ·Î±×·¥À» º¸Åë ½ÇÇàÆÄÀÏó·³ ½ÇÇà½Ãų ¼ö ¾ø´Ù.

Ä¿¸àµå ¶óÀλ󿡼­ ÀÚ¹Ù ·±Å¸ÀÓ ÀÎÅÍÇÁ¸®Å͸¦ ½ÇÇàÇϰí (ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÉ ¼ö ÀÖµµ·Ï) ÃʱâÈ­ Ŭ·¡½º°¡ ÀÖ¾î¾ß ÇÑ´Ù. HTML ÇüÅ·δ Ŀ¸àµå ¶óÀÎÀ» À¥ ¼­¹ö¿¡ º¸³¾ ¼ö ¾ø´Ù.

Àڹٴ ȯ°æ(º¯¼ö)¿¡ ´ëÇØ ÀϹÝÀûÀÎ ¾×¼¼½ºÇÒ ¼ö ¾ø´Ù.

ÀÚ¹Ù ÇÁ·Î±×·¥ÀÌ ÇÊ¿ä·Î ÇÏ´Â °³°³ÀÇ È¯°æº¯¼ö´Â Á¤È®ÀÌ ³Ñ°ÜÁ®¾ß(pass) ÇÑ´Ù. C ¿¡¼­ÀÇ getenv() ÇÔ¼ö °°Àº ¸Þ¼Òµå´Â ¾ø´Ù.

4.2 Java CGIÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¶§ÀÇ ¹®Á¦Á¡ ±Øº¹

À§ÀÇ Àå¾Ö¹°À» ó¸®Çϱâ À§ÇØ, ÀÚ¹Ù ÀÎÅÍÇÁ¸®ÅÍ¿¡°Ô ÇÊ¿äÇÑ Á¤º¸¸¦ Á¦°øÇÏ´Â ½© CGIÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ¿´´Ù.

java.cgi ½ºÅ©¸³Æ®

ÀÌ ½© ½ºÅ©¸³Æ®´Â »ç¿ëÇϰíÀÚ ÇÏ´Â Java CGIÇÁ·Î±×·¥°ú HTTPµ¥¸ó »çÀÌÀÇ »óÈ£ÀÛ¿ë(interaction)À» °ü¸®ÇÑ´Ù. ÀÌ ½ºÅ©¸³Æ®´Â ½ÇÇàÇϰíÀÚ ÇÏ´Â ÇÁ·Î±×·¥ÀÇ À̸§À» ¼­¹ö°¡ Á¦°øÇÏ´Â µ¥ÀÌŸ·ÎºÎÅÍ »Ì¾Æ³»¸ç ÀÓÀÇÀÇ Àӽà ÆÄÀÏ ¾È¿¡ ȯ°æ µ¥ÀÌŸ(environment data) ¸ðµÎ¸¦ ¸ðÀº´Ù. ±×¸®°í³ª¼­ Ä¿¸àµå ¶óÀο¡ µ¡ºÙ¿©Áø ȯ°æ Á¤º¸ ÆÄÀÏÀÇ À̸§°ú ÇÁ·Î±×·¥ À̸§À» °¡Áö°í ÀÚ¹Ù ·±Å¸ÀÓ ÀÎÅÍÇÁ¸®Å͸¦ ½ÇÇà½ÃŲ´Ù. java.cgi½ºÅ©¸³Æ®´Â Áö¿ª °æ·Î¿¡ °üÇÑ ¹æÄ§À» Á¤ÇÏ¶ó ¿¡¼­ ±¸¼ºµÇ¾úÀ¸¸ç ÀνºÅçµÇ¾ú´Ù.

HTML formÀ¸·Î ºÎÅÍ java.cgi È£ÃâÇϱâ

Java CGI ÇÁ·Î±×·¥À» »ç¿ëÇÏ´Â ÇÊÀÚÀÇ ÆûÀº ´ÙÀ½°ú °°ÀÌ form actionÀ» ¸í½ÃÇÑ´Ù:

<form action="/cgi-bin/java.cgi/CGI_Test" method="POST">
¿©±â¼­ /cgi-bin/ Àº ¿©·¯ºÐÀÇ CGI ¹ÙÀ̳ʸ® µð·ºÅ丮À̸ç, java.cgi´Â À¥»ó¿¡¼­ Java ÇÁ·Î±×·¥À» ½ÇÇà½ÃŰ°Ô ÇØÁÖ´Â ÀÚ¹Ù front-end À̸ç, CGI_Test´Â ½ÇÇà½Ãų ÀÚ¹Ù ÇÁ·Î±×·¥ À̸§ÀÇ ¿¹ÀÌ´Ù.

5. Java CGIŬ·¡½º »ç¿ëÇϱâ

ÇöÀç ¼¼°³ÀÇ ¸ÞÀΠŬ·¡½º°¡ Á¦°øµÈ´Ù. CGI¿Í Email°ú HTMLÀÌ´Ù. ÇÊÀÚ´Â MIME ÇüÅÂÀÇ ÀÔÃâ·ÂÀ» ´Ù·ç´Â °¢°¢ÀÇ Å¬·¡½º- MIMEin °ú MIMEout - ¸¦ Ãß°¡ÇÒ »ý°¢ÀÌ´Ù.

Áö¿ø¿ëŬ·¡½º¿Í Å×½ºÆ® Ŭ·¡½ºµµ ¸î °³ ÀÖ´Ù. CGI_Test, Email_Test ¿Í HTML_Test´Â ÀνºÅçÀ» Å×½ºÆ®Çϱâ À§ÇÑ °ÍÀÌ´Ù. À̵é Ŭ·¡½º´Â ÀÌ Å¬·¡½º ¶óÀ̺귯¸®´Â »ç¿ëÇÏ´Â ÀÚ¹Ù ÇÁ·Î±×·¥¿¡¼­ ½ÃÀÛÁ¡(starting- point)ó·³ »ç¿ëµÉ ¼öµµ ÀÖÀ»°ÍÀÌ´Ù. Text Ŭ·¡½º´Â Email ¿Í HTML Ŭ·¡½ºÀÇ ¼öÆÛŬ·¡½ºÀÌ´Ù.

5.1 CGI

Ŭ·¡½º ¹®¹ý

public class CGI

Ŭ·¡½º ¼³¸í

CGI Ŭ·¡½º´Â "CGI Á¤º¸" (À¥ ¼­¹ö°¡ Á¤ÇÑ È¯°æ º¯¼öµé°ú submit µ¿ÀÛÀÌ ¼±ÅõǾúÀ» ¶§ formÀ¸·ÎºÎÅÍ º¸³½ name/value)¸¦ °¡Áø´Ù. ¸ðµç Á¤º¸´Â Properties Ŭ·¡½º °´Ã¼¿¡ ÀúÀåµÈ´Ù. ÀÌ Å¬·¡½º´Â "Orbits.net" ÆÐŰÁö¿¡ µé¾îÀÖ´Ù.

¸â¹ö ¿ä¾à


        CGI()         //  »ý¼ºÀÚ.
        getNames()    //  À̸§µéÀÇ ¸®½ºÆ®¸¦ ¾ò´Â´Ù.
        getValue()    //  À̸§À» ¸í½ÃÇÔÀ¸·Î½á formÀÇ value¸¦ ¾ò´Â´Ù.

ÂüÁ¶

CGI_Test.

CGI()

¸ñÀû

»ç¿ë °¡´ÉÇÑ CGI Å×ÀÌŸ¸¦ °¡Áø °´Ã¼¸¦ »ý¼ºÇÑ´Ù.

¹®¹ý

public CGI()

¼³¸í

CGI °´Ã¼°¡ »ý¼º µÇ¾úÀ» ¶§, ¸ðµç »ç¿ë °¡´ÉÇÑ CGIÁ¤º¸°¡ ±× °´Ã¼¿¡ ´ëÇØ ·ÎÄÃÀÎ ÀúÀå¼Ò·Î º¸³»Áø´Ù.

getNames()

¸ñÀû

ÇØ´çÇÏ´Â value¸¦ °®µµ·Ï Á¤ÀÇµÈ nameµéÀ» º¸ÀδÙ.

¹®¹ý

public Enumeration getKeys ()

¼³¸í

ÇØ´çÇÏ´Â value°¡ Á¤ÀÇµÈ nameÀÇ Àüü ¸®½ºÆ®¸¦ Á¦°øÇÑ´Ù.

¸®ÅÏ

Á¤ÀÇµÈ ¸ðµç À̸§ÀÇ Enumeration

getValue()

¸ñÀû

nameÀÌ ¸í½ÃµÈ value¸¦ ÃëÇÑ´Ù.

¹®¹ý

public String getValue ( String name )

¼³¸í

HTML formÀ¸·ÎºÎÅÍ º¸³»Áø name°ú value»çÀÌ¿¡ ´ëÀÀÇÏ´Â °ÍÀ» ¸®ÅÏÇÔ.

ÆÄ¶ó¸ÞÅÍ

name

value¸¦ ¼±ÅÃÇϴ Ű

¸®ÅÏ

value¸¦ ´ã°í ÀÖ´Â String

5.2 CGI_Test

ÀÌ Å¬·¡½º¿¡´Â CGIŬ·¡½º¸¦ ¾î¶»°Ô »ç¿ëÇÏ´ÂÁö¿¡ °üÇÑ ¿¹Á¦¿Í Java CGI ÆÐŰÁö°¡ Á¤È®ÇÏ°Ô µ¿ÀÛÇÏ´ÂÁö È®ÀÎÇϴµ¥ »ç¿ëµÇ´Â Å×½ºÆ® ÇÁ·Î±×·¥ÀÌ µé¾î ÀÖ´Ù.

¸â¹ö¿ä¾à


        main()      //  ÇÁ·Î±×·¥ main().

ÂüÁ¶

CGI.

main()

¸ñÀû

main() ¸Þ¼Òµå¸¦ Á¦°øÇÑ´Ù.

¹®¹ý

public static void main( String argv[] )

¼³¸í

»ç¿ë °¡´ÉÇÑ name/value ½ÖÀÇ ¸®½ºÆ®¿Í ÇöÀç °ªÀ» ¸®ÅÏÇÏ´Â CGI ÇÁ·Î±×·¥¿¡ ´ëÇÑ ÁøÀÔÁ¡(entry point)ÀÌ´Ù.

ÆÄ¶ó¸ÞÅÍ

argv[]

java.cgi ½ºÅ©¸³Æ®¿¡ ÀÇÇØ ÇÁ·Î±×·¥¿¡ Àü´ÞµÇ´Â ÀÎÀÚµé. ÇöÀç »ç¿ë ¾ÈÇÔ

5.3 Email

Ŭ·¡½º ¹®¹ý

public class Email extends Text

Ŭ·¡½º ¹®¹ý

¸Þ½ÃÁö´Â TextŬ·¡½ºÀÇ add* () ¸Þ¼Òµå¿Í ÀÌ Å¬·¡½º¿¡ ÀÇÇØ Ãß°¡µÈ e-mail °ü·Ã(e-mail-specific) ¸Þ¼Òµå·Î ¸¸µé¾îÁø´Ù. ´Ù ¸¶Ä¡¸é, ¸Þ½ÃÁö´Â ¸ñÀûÁö·Î º¸³»Áø´Ù. ÀÌ Å¬·¡½º´Â "Orbits.net"ÆÐŰÁö¿¡ µé¾îÀÖ´Ù.

¸â¹ö ¿ä¾à


        Email()      //  »ý¼ºÀÚ.
        send()       //  ÀüÀÚ¸ÞÀÏ ¸Þ½ÃÁö¸¦ º¸³½´Ù.
        sendTo()     //  ¸Þ½ÃÁö¿¡ ¸ñÀûÁö¸¦ Ãß°¡ÇÑ´Ù.
        subject()    //  ¸ÞÁöÁö¿¡ ÁÖÁ¦(Subject:)¸¦ Á¤ÇÑ´Ù.

Âü°í

Email_Test, Text.

Email()

¸ñÀû

ÀüÀÚ¸ÞÀÏ ¸Þ½ÃÁö¸¦ ´ãÀº °³Ã¼¸¦ »ý¼ºÇÑ´Ù.

¹®¹ý

public Email()

¼³¸í

Email¸Þ¼Òµå·Î¼­ ¿Ï¼º(complete)µÉ ºó ¸Þ½ÃÁö¸¦ ¼Â¾÷ÇÑ´Ù.

ÂüÁ¶

Text.

send()

¸ñÀû

ÀüÀÚ¸ÞÀÏ ¸Þ½Ã½Ã¸¦ º¸³½´Ù.

¹®¹ý

public void send ()

¼³¸í

¸ÞÁö½Ã¸¦ Á¤ÇüÈ­(format)ÇÏ°í º¸³½´Ù. ¸ñÀûÁö°¡ Á¤ÇØÁöÁö ¾Ê¾ÒÀ¸¸é, ¾Æ¹« Àϵµ ¹ß»ýÇÏÁö ¾Ê´Â´Ù.

sendTo()

¸ñÀû

¸Þ½ÃÁö¿¡ ¸ñÀûÁö¸¦ Ãß°¡ÇÑ´Ù.

¹®¹ý

public String sendTo ( String address )

¼³¸í

ÀÌ ¸Þ¼ÒµåÀÇ ¸ñÀûÁö ¸®½ºÆ®¿¡ ÁÖ¼Ò ¸¦ Ãß°¡ÇÑ´Ù. ÀüÀÚ¸ÞÀÏ ¸Þ½ÃÁö°¡ °¡Áú ¼ö ÀÖ´Â ¸ñÀûÁöÀÇ ¼ö¿¡´Â Á¤ÇØÁø ÇѰ谡 ¾ø´Ù. ¸®½ºÆ®ÀÇ Å©±â¸¦ ÃæºÐÈ÷ Å©°Ô ¸¸µç´Ù¸é, ¸ÞÀÏ Àü¼Û ¿¡ÀÌÀüÆ®(Mail Transport Agent) °¡ Çã¿ëÇÒ ¼ö ÀÖ´Â ÆÄ¶ó¸ÞÅÍ ¸®½ºÆ®ÀÇ »çÀÌÁ ÃʰúÇÒ ¼ö ÀÖÀ¸¸ç ±×·¸Áö ¾Ê´Ù¸é ¸Þ¸ð¸®¸¦ ´Ù ½á¹ö¸± °ÍÀÌ´Ù.

ÆÄ¶ó¸ÞÅÍ/

address

¸Þ½ÃÁö¸¦ º¸³¾ ¸ñÀûÁö.

subject()

¸ñÀû

¸Þ½ÃÁöÀÇ ÁÖÁ¦¸¦ Á¤ÇÑ´Ù.

¹®¹ý

public void subject ( String subject )

¼³¸í

ÀüÀÚ¸ÞÀÏÀÇ Subject: ÁÙÀÇ ÅØ½ºÆ®¸¦ Á¤ÇÑ´Ù. ¸¸¾à Çѹø ÀÌ»ó È£ÃâµÇ¸é, ¸Ç ¸¶Áö¸·¿¡ Á¤ÇÑ subject°¡ »ç¿ëµÈ´Ù.

ÆÄ¶ó¸ÞÅÍ

subject

¸Þ½ÃÁöÀÇ Subject: ÁÙÀÇ ÅØ½ºÆ®

5.4 Email_Test

ÀÌ Å¬·¡½º´Â Email Ŭ·¡½º¸¦ ¾î¶»°Ô »ç¿ëÇÏ´ÂÁö¿¡ °üÇÑ ¿¹Á¦¿Í Java CGI ÆÐŰÁö°¡ Á¤È®ÇÏ°Ô µ¿ÀÛÇÏ´ÂÁö È®ÀÎÇϴµ¥ »ç¿ëµÇ´Â Å×½ºÆ® ÇÁ·Î±×·¥ ¿¹Á¦°¡ µé¾îÀÖ´Ù.

¸â¹ö ¿ä¾à


        main()      //  ÇÁ·Î±×·¥ main().

ÂüÁ¶

Email.

main()

¸ñÀû

main() ¸Þ¼Òµå¸¦ Á¦°øÇÑ´Ù.

¹®¹ý

public static void main( String argv[] )

¼³¸í

»ç¿ë °¡´ÉÇÑ name/value ½Ö°ú ÇöÀç ±× ½ÖÀÇ ¸®½ºÆ®¸¦ ¸®ÅÏÇÏ´Â CGI ÇÁ·Î±×·¥¿¡ ´ëÇÑ ÁøÀÔÁ¡(entry point)ÀÌ´Ù. Email º¯¼ö¿¡ ¸í½ÃµÈ ÁÖ¼Ò¿¡µµ ÀÌ ¸®½ºÆ®¸¦ º¸³½´Ù.

ÆÄ¶ó¸ÞÅÍ

argv[]

java.cgi ½ºÅ©¸³Æ®¿¡ ÀÇÇØ ÇÁ·Î±×·¥¿¡ Àü´ÞµÇ´Â ÀÎÀÚµé. ÇöÀç »ç¿ë ¾ÈÇÔ.

5.5 HTML

Ŭ·¡½º ¹®¹ý

public class HTML extends Text

Ŭ·¡½º ¼³¸í

¸Þ½ÃÁö´Â TextŬ·¡½ºÀÇ add* () ¸Þ¼Òµå¿Í ÀÌ Å¬·¡½º¿¡ ÀÇÇØ Ãß°¡µÈ HTML°ü·Ã(HTML-specific) ¸Þ¼Òµå·Î ¸¸µé¾îÁø´Ù. ¿Ï¼ºµÇ¸é, ¸Þ½ÃÁö´Â ¸ñÀûÁö·Î º¸³»Áø´Ù. ÇöÀç, ¸®½ºÆ®¸¦ ¸¸µå´Â ¸Þ¼ÒµåµéÀÌ Á¤È®ÇÑ ¼ø¼­·Î »ç¿ëµÇ¾ú´ÂÁö È®½ÅÇÒ ¿¡·¯ üŷÀ» ÇÏÁö ¾Ê¾Æ¼­, ÇÁ·Î±×·¡¸Ó°¡ HTML ¹®¹ýÀ» ¾î±âÁö ¾Êµµ·Ï ÁÖÀÇÇØ¾ß ÇÑ´Ù. ÀÌ Å¬·¡½º´Â "Orbits.net"ÆÐŰÁö¿¡ µé¾îÀÖ´Ù.

¸â¹ö ¿ä¾à


        HTML()                  //  »ý¼ºÀÚ.
        author()                //  ¹®¼­ ÀúÀÚÀÇ À̸§À» Á¤ÇÑ´Ù.
        definitionList()        //  Á¤ÀÇ ¸®½ºÆ®¸¦ ½ÃÀÛÇÑ´Ù.
        definitionListTerm()    //  Á¤ÀÇ ¸®½ºÆ®¿¡ ¿ë¾î(term)¸¦ Ãß°¡ÇÑ´Ù.
        endList()               //  ¸®½ºÆ®¸¦ ³¡¸Î´Â´Ù.
        listItem()              //  ¸®½ºÆ®¿¡ ¿£Æ®¸®¸¦ Ãß°¡ÇÑ´Ù.
        send()                  //  HTML¸Þ½ÃÁö¸¦ º¸³½´Ù.
        title()                 //  ¹®¼­ Á¦¸ñ¿ë ÅØ½ºÅ©¸¦ Á¤ÇÑ´Ù.

ÂüÁ¶

HTML_Test, Text.

HTML()

¸ñÀû

HTML¸Þ½ÃÁö¸¦ ´ãÀ» °´Ã¼¸¦ »ý¼ºÇÑ´Ù.

¹®¹ý

public HTML()

¼³¸í

HTML ¸Þ¼Òµå¿¡ ÀÇÇØ¼­ ¿Ï¼ºµÉ ºó ¸Þ½ÃÁö¸¦ ¸¸µç´Ù.

ÂüÁ¶

Text.

author()

¸ñÀû

¹®Àú ÀúÀÚÀÇ À̸§À» Á¤ÇÑ´Ù.

Syntax

public void author ( String author )

¼³¸í

¹®¼­ÀÇ ÀúÀÚ¸¦ author·Î Á¤ÇÑ´Ù.

ÆÄ¶ó¸ÞÅÍ/

author

¸Þ½ÃÁöÀÇ ÀúÀÚ·Î »ç¿ëµÉ ÅØ½ºÆ®.

ÂüÁ¶

title().

definitionList()

¸ñÀû

Á¤ÀÇ ¸®½ºÆ®¸¦ ½ÃÀÛÇÑ´Ù.

¹®¹ý

public void definitionList ()

¼³¸í

Á¤ÀÇ ¸®½ºÆ®¸¦ ½ÃÀÛÇÑ´Ù. Á¤ÀÇ ¸®½ºÆ®´Â ¸®½ºÆ® ¾ÈÀÇ °¢°¢ÀÇ ¿£Æ®¸®°¡ ±× ¿ë¾î(term)ÀÇ Á¤ÀÇ ÅØ½ºÆ®(text) ´ÙÀ½¿¡ ³ª¿À´Â Ç׸ñÀÎ ¸®½ºÆ®ÀÌ´Ù. Á¤ÀÇ ¸®½ºÆ®ÀÇ ½ÃÀÛÀº (ÃÖ¼ÒÇÑ) ÇϳªÀÇ ¿ë¾î/ÅØ½ºÆ® ½ÖÀ» »ý¼ºÇϰí endList() ¸Þ¼Òµå°¡ Çѹø È£ÃâµÈ ÀÌÈÄ À̾î¾ß ÇÑ´Ù. ÇöÀç ¸®½ºÆ®µéÀº ³×½ºÆ®(nest)µÉ ¼ö ¾øÀ½À» ÁÖÀÇÇ϶ó.

ÂüÁ¶

definitionListTerm(), endList(), listItem().

definitionListTerm()

¸ñÀû

Á¤ÀÇ ¸®½ºÆ®¿¡ ÇϳªÀÇ ¿ë¾î¸¦ Ãß°¡ÇÑ´Ù.

¹®¹ý

public void definitionListTerm ()

¼³¸í

Á¤ÀÇ ¸®½ºÆ®¿¡ ÇϳªÀÇ ¿ë¾î¸¦ Ãß°¡ÇÑ´Ù. Çö ¸®½ºÆ® ¿£Æ®¸®ÀÇ ¿ë¾î ºÎºÐÀÇ ÅØ½ºÆ®´Â ÀÌ ¸Þ¼Òµå°¡ È£ÃâµÇ°í ÇØ´çµÇ´Â listItem¸Þ¼Òµå°¡ È£ÃâµÇ±â Àü¿¡ ¸Þ½ÃÁö¿¡ µ¡ºÙ¿©Á®¾ß ÇÑ´Ù.

ÂüÁ¶

definitionList(), listItem().

endList()

¸ñÀû

¸®½ºÆ®¸¦ ³¡¸Î´Â´Ù.

¹®¹ý

public void endList ()

¼³¸í

¸®½ºÆ®¸¦ ³¡¸Î´Â´Ù. ÀÌ ¸Þ¼Òµå´Â ÇÑ ¸®½ºÆ®¸¦ ³¡³½´Ù. ÇöÀç ¸®½ºÆ®µéÀº ³×½ºÆ®µÉ ¼ö ¾øÀ½À» ÁÖ¸ñÇ϶ó.

ÂüÁ¶

definitionList().

listItem()

¸ñÀû

¸®½ºÆ®¿¡ ¿£Æ®¸® Çϳª¸¦ Ãß°¡ÇÑ´Ù.

¹®¹ý

public void listItem ()

public void listItem ( String item )

public boolean listItem ( String term, String item )

¼³¸í

¸®½ºÆ®¿¡ ¿£Æ®¸® Çϳª¸¦ Ãß°¡ÇÑ´Ù. ¸¸¾à ù¹øÂ° Æû(form)ÀÌ »ç¿ëµÈ´Ù¸é, Çö ¸®½ºÆ® ¾ÆÀÌÅÛÀÇ ÅØ½ºÆ®´Â ÀÌ ¸Þ¼Òµå°¡ È£ÃâµÈ ´ÙÀ½¿¡ ±×¸®°í ´Ù¸¥ ¸®½ºÆ® ¸Þ¼Òµå°¡ È£ÃâµÇ±â Àü¿¡ ¸Þ½ÃÁö¿¡ ºÙ¿©Á®¾ß ÇÑ´Ù. µÎ¹øÂ°¿Í ¼¼¹øÂ° Æû¿¡¼­´Â, item ÅØ½ºÆ®´Â ÀÌ ¸Þ½ÃÁö¿¡ µ¡ºÙ¿©Áö´Â ´ë½Å¿¡(ȤÀº Ãß°¡·Î) ¸Þ¼ÒµåÀÇ ÆÄ¶ó¸ÞÅÍ·Î½á ¸í½ÃµÈ´Ù.¼¼¹øÂ°´Â Á¤ÀÇ ¸®½ºÆ®¿¡ °ü·ÃµÇ°í(specific), ¿ë¾î¿Í ¸®½ºÆ® ¿£Æ®¸®ÀÇ Á¤ÀǸ¦ Á¦°øÇÑ´Ù.

ÆÄ¶ó¸ÞÅÍ

item

¸®½ºÆ® ¿£Æ®¸®ÀÇ ÅØ½ºÆ®.

term

Á¤ÀÇ ¸®½ºÆ® ¿£Æ®¸®ÀÇ ¿ë¾î ºÎºÐÀÇ ÅØ½ºÆ®.

ÂüÁ¶

definitionList(), definitionListTerm(), endList().

send()

¸ñÀû

HTML¸Þ½ÃÁö¸¦ º¸³½´Ù.

¹®¹ý

public void send ()

¼³¸í

HTML ¸Þ½ÃÁö¸¦ º¸³½´Ù.

title()

¸ñÀû

¹®¼­ Á¦¸ñÀÇ ÅØ½ºÆ®¸¦ Á¤ÇÑ´Ù.

¹®¹ý

public void title ( String title )

¼³¸í

¹®¼­ Á¦¸ñÀÇ ÅØ½ºÆ®¸¦ Á¤ÇÑ´Ù.

ÆÄ¶ó¸ÞÅÍ

title

¸Þ½ÃÁö Á¦¸ñÀÇ ÅØ½ºÆ®.

ÂüÁ¶

author().

5.6 HTML_Test

ÀÌ Å¬·¡½º¿¡´Â HTMLŬ·¡½º¸¦ ¾î¶»°Ô »ç¿ëÇÏ´ÂÁö¿¡ °üÇÑ ¿¹Á¦¿Í Java CGI ÆÐŰÁö°¡ Á¤È®ÇÏ°Ô µ¿ÀÛÇÏ´ÂÁö¸¦ È®ÀÎÇϴµ¥ »ç¿ëµÇ´Â Å×½ºÆ® ÇÁ·Î±×·¥ÀÌ µé¾îÀÖ´Ù.

¸â¹ö ¿ä¾à


        main()      //  ÇÁ·Î±×·¥ main().

ÂüÁ¶

HTML.

main()

¸ñÀû

main() ¸Þ¼Òµå¸¦ Á¦°øÇÑ´Ù.

¹®¹ý

public static void main( String argv[] )

¼³¸í

HTML¹®¼­¿¡¼­ Á¤ÀÇ ¸®½ºÆ® ¿ø¼Ò¿¡¼­ °¢°¢ÀÇ name/valueÀÇ ½ÖÀ» º¸ÀÌ¸ç »ç¿ë °¡´ÉÇÑ name/valueÀÇ ½ÖÀÇ ¸®½ºÆ®¸¦ ¸®ÅÏÇÏ´Â CGIÇÁ·Î±×·¥¿¡ ´ëÇÑ ÁøÀÔÁ¡ÀÌ´Ù.

ÆÄ¶ó¸ÞÅÍ

argv[]

java.cgi½ºÅ©¸³Æ®¿¡ ÀÇÇØ ÇÁ·Î±×·¥¿¡ Àü´ÞµÇ´Â ÀÎÀÚµé. ÇöÀç »ç¿ë ¾ÈÇÔ.

5.7 Text

Ŭ·¡½º ¹®¹ý

public abstract class Text

Ŭ·¡½º ¼³¸í

ÀÌ Å¬·¡½º´Â Email °ú HTML Ŭ·¡½ºÀÇ ¼öÆÛŬ·¡½ºÀÌ´Ù. ¸Þ½ÃÁö´Â ÀÌ Å¬·¡½º¾ÈÀÇ ¸Þ¼Òµå¿¡ ÀÇÇØ ¸¸µé¾îÁö°í ¼­ºêŬ·¡½ºÀÇ ¸Þ¼Òµå·Î½á ¿Ï¼ºµÇ¸ç(completed) Çü½ÄÈ­(formatted)µÈ´Ù. ÀÌ Å¬·¡½º´Â "Orbits.text"ÆÐŰÁö ¾È¿¡ µé¾îÀÖ´Ù.

¸â¹ö ¿ä¾à


        Text()            //  »ý¼ºÀÚ.
        add()             //  ÀÌ °´Ã¼¿¡ ÅØ½ºÆ®¸¦ Ãß°¡ÇÑ´Ù.
        addLineBreak()    //  °èÇà Ãß°¡.
        addParagraph()    //  ´Ü¶ô°èÇà Ãß°¡.

Âü°í

Email, HTML.

add()

¸ñÀû

¾ÆÀÌÅÛ¿¡ ÅØ½ºÆ®¸¦ Ãß°¡ÇÑ´Ù.

¹®¹ý

public void add ( char addition )

public void add ( String addition )

public void add ( StringBuffer addition )

¼³¸í

ÅØ½ºÆ® ¾ÆÀÌÅÛÀÇ ³»¿ë¿¡ addition¸¦ Ãß°¡ÇÑ´Ù.

ÆÄ¶ó¸ÞÅÍ

addition

ÅØ½ºÆ® ¾ÆÀÌÅÛ¿¡ Ãß°¡µÉ ÅØ½ºÆ®.

ÂüÁ¶

addLineBreak(), addParagraph().

addLineBreak()

¸ñÀû

Çö ½ÃÁ¡¿¡¼­ ÅØ½ºÆ®¿¡ °èÇàÀ» ÇÑ´Ù.

¹®¹ý

public void addLineBreak ()

¼³¸í

Çö ½ÃÁ¡¿¡¼­ ÅØ½ºÆ®¿¡ °èÇàÀ» ÇÑ´Ù.

ÂüÁ¶

add(), addParagraph().

addParagraph()

¸ñÀû

»õ·Î¿î ´Ü¶ôÀ» ½ÃÀÛÇÑ´Ù.

¹®¹ý

public void add ()

¼³¸í

ÅØ½ºÆ® È帧ÀÇ Çö ½ÃÁ¡¿¡¼­ »õ ´Ü¶ôÀ» ½ÃÀÛÇÑ´Ù.

ÂüÁ¶

add(), addLineBreak().

6. ÇâÈÄ °èȹ

  • Email Ŭ·¡½º¿¡ Ãß°¡:
    Email( int capacity )

    ¸Þ½ÃÁö°¡ ÇÒ´çµÇ±â À§Çؼ­ ¾ó¸¶³ª ¸¹Àº °ø°£ÀÌ ÇÊ¿äÇÑÁö ¾Ë°í ÀÖÀ» ¶§ »ç¿ë.

    sendTo( String [] address )

    ÀüÀÚ¸ÞÀÏ ¸Þ½ÃÁö¿¡ ÁÖ(primary) ¸ñÀûÁö ¸®½ºÆ® Ãß°¡.

    sendCc( String address )

    ÀüÀÚ¸ÞÀÏ ¸Þ½ÃÁö¿¡ Ä«º»Ä«ÇÇ(º¹»çº») ¸ñÀûÁö Ãß°¡.

    sendCc( String [] address )

    ÀüÀÚ¸ÞÀÏ ¸Þ½ÃÁö¿¡ Ä«º»Ä«ÇÇ(º¹»çº») ¸ñÀûÁö Ãß°¡.

    sendBcc( String address )

    ÀüÀÚ¸ÞÀÏ ¸Þ½ÃÁö¿¡ ºí¶óÀεå Ä«º» Ä«ÇÇ(ÀÍ¸í º¹»çº») ¸ñÀûÁö Ãß°¡.

    sendBcc( String [] address )

    ÀüÀÚ¸ÞÀÏ ¸Þ½ÃÁö¿¡ ºí¶óÀεå Ä«º» Ä«ÇÇ(ÀÍ¸í º¹»çº») ¸ñÀûÁö Ãß°¡.

  • HTML Ŭ·¡½º¿¡ Ãß°¡:
    HTML( int capacity )

    ¸Þ½ÃÁö°¡ ÇÒ´çµÇ±â À§Çؼ­ ¾ó¸¶³ª ¸¹Àº °ø°£ÀÌ ÇÊ¿äÇÑÁö ¾Ë ¶§ »ç¿ë.

    public void unorderedList()

    ¹«Á¤·Ä ¸®½ºÆ®¸¦ ½ÃÀÛ.

    public void orderedList()

    ¹«Á¤·Ä ¸®¸£Æ®¸¦ ½ÃÀÛ.

    public void directoryList()

    ¸ñ·Ï ¸®½ºÆ®¸¦ ½ÃÀÛ.

    public void menuList()

    ¸Þ´º ¸®½ºÆ®¸¦ ½ÃÀÛ.

    void anchor( String anchorName )

    anchor¸¦ ¸í½Ã.

    void link( String url, String text )

    ¸µÅ©¸¦ ¸í½Ã.

    void applet( String url, String altText )

    ¾ÖÇø´ ¸µÅ©¸¦ ¸í½Ã.

  • HTML¸®½ºÆ®°¡ ³×½ºÆ® µÇ°Ô ÇÑ´Ù.
  • HTML ¸®½ºÆ® Æ÷¸ËÆÃ(formatting) ÄÚµåÀÇ ¿Ã¹Ù¸¥ Á¤·ÄÀ» ¼öÇàÇÒ ¿¡·¯ üŷ Äڵ带 Ãß°¡ÇÑ´Ù.
  • Makefile¿¡¼­ ȯ°æ µ¥ÀÌŸ ÆÄÀÏÀÇ À§Ä¡¸¦ Á¶Á¤ÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù.
  • µ¥ÀÌŸ Àü¼ÛÀÎ GET¸Þ¼Òµå¸¦ »ç¿ëÇÒ ¶§ ¸®½ºÆ®¿¡¼­ ³ªÅ¸³ª´Â ºó name/value ½ÖÀ» ¾ø¾Ø´Ù.
  • °è¼ÓÇØ¼­ º¯¼ö À̸§À» Á¦°øÇÒ java.util.Enumeration ÀÎÅÍÆäÀ̽ºÀÇ CGI·ÎÀÇ ±¸ÇöÀ» »ý°¢Áß.
  • ÀÌ ÆÐŰÁö¿¡ ÀÖ´Â ¸ðµç ¸Þ¼Òµå¸¦ »ç¿ëÇÏ´Â, Test Ŭ·¡½º¸¦ Ãß°¡ÇÑ´Ù.
  • µð¹ö±ë ¸ñÀûÀ¸·Î Á¡ÁøÀûÀÎ Å×½ºÆ®¸¦ Çϱâ À§ÇØ CGI_Test, Email_Test ¿Í HTML_Test ¼­·Î°¡ ¾î¶»°Ô ºôµå µÇ´ÂÁö ¹®¼­È­ÇÑ´Ù.
  • ¾î¶»°Ô Test°¡ ÀÌ ÆÐŰÁö¿¡¼­ °¡´ÉÇÑ ¸ðµç ±â´ÉÀ» ÀÌ¿ëÇÏ´ÂÁö ¹®¼­È­ÇÑ´Ù.

7. º¯È­

7.1 0.4¿¡¼­ 0.5°£ÀÇ º¯È­

  • ¸¶Áö¸· ÆÇÀ» ¹Ý¿µÇÏ´Â º¯È­µÈ ¹®¼­È­¿Í ÁÖ¼®

7.2 0.3¿¡¼­ 0.4°£ÀÇ º¯È­

  • ÃÖ¼ÒÇÑÀÇ ±â´ÉÀ» Á¦°øÇÏ´Â HTML Ŭ·¡½ºÀÇ °ñÀÚ ¹èÆ÷.
  • HTML_Test Ŭ·¡½º¿Í javahtmltest.html-dist ÀÛ¼º.
  • Á¤ÀÇ ¸®½ºÆ®¸¦ ´Ù·ç±â À§ÇÑ HTML ¸Þ¼Òµå¸¦ Ãß°¡.

7.3 0.2¿¡¼­ 0.3°£ÀÇ º¯È­

  • Text ¿Í Email Ŭ·¡½º¸¦ Ãß°¡. HTML Ŭ·¡½ºµµ Ãß°¡µÇ¾úÀ¸³ª, ÀÌ ½Ã±â¿¡´Â ½ÃÀÛ ´Ü°è Á¤µµ.
  • ÆÐŰÁö¿¡ ´Ù¾çÇÑ Å¬·¡½º¸¦ ³ÖÀ½. ÁÖµÈ Å¬·¡½º´Â Orbits.net.*¿¡ µé¾î ÀÖÀ¸¸ç, Áö¿ø Ŭ·¡½º Text´Â Orbits.text.Text¾È¿¡ ÀÖÀ½.
  • CGItest °¡ CGI_Test ·Î ¹Ù²ñ.
  • Email_Test Ŭ·¡½º Ãß°¡.

7.4 0.1¿¡¼­ 0.2°£ÀÇ º¯È­

  • ȯ°æº¯¼ö¸¦ ÀÚ¹Ù ÀÎÅÍÇÁ¸®ÅÍÀÇ Ä¿¸àµå ¶óÀÎ ¾È¿¡ ³Ö´Â ´ë½Å¿¡ Àӽà ÆÄÀÏ¿¡ ³õÀÓ. CGI Ŭ·¡½º¿Í java.cgi°¡ ¼öÁ¤µÇ¾úÀ½.
  • Javacgitest.html ¹®¼­°¡ ¹èÆ÷ÆÇ¿¡ Æ÷ÇÔµÊ.
  • ÀνºÅç °úÁ¤ÀÇ make¿¡ ÀÇÇØ ¼öÁ¤µÈ ÅØ½ºÆ® ÆÄÀÏ¿¡ -dist·Î ³¡³ª´Â À̸§À» ºÙÀÓ.


ID
Password
Join
He who invents adages for others to peruse takes along rowboat when going on cruise.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2003-08-10 11:52:30
Processing time 0.0027 sec