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

You are not allowed to 'info'


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 ÆDZÇ(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
You have an ability to sense and know higher truth.


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.0023 sec