|
Form Study #1
kenu
2002-02-24 12:34¿ÀÀü |
|
°ªÀ» ³Ñ°ÜÁÖ´Â ¹æ½Ä Áß ¸¹ÀÌ »ç¿ëÇÏ´Â 3°¡Áö ¹æ½ÄÀ» ³íÀÇÇϰڽÀ´Ï´Ù. GET, POST ¹æ½Ä°ú ÆÄÀÏÀ» Àü¼ÛÇÒ ¼ö ÀÖ´Â multipart/form-data ¿¡ °üÇÑ °ÍÀÔ´Ï´Ù. ¼Ò½º¸¦ ÀÏ´Ü º¸½ÃÁÒ.
formstudy.jsp
|
|
form ű׿¡ action ¼Ó¼ºÀÌ ¾ø´Ù¸é ÀÚ±â ÀÚ½ÅÀ» ´Ù½Ã ÇÑ ¹ø È£ÃâÇÕ´Ï´Ù. Áï action="formstudy.jsp" ¿Í °°Àº °á°úÀÔ´Ï´Ù. ºê¶ó¿ìÀúÀÇ ÁÖ¼ÒÁÙ¿¡ ÀÔ·ÂÇØ¼ ¼¹ö¿¡ ¿äûÇÒ °æ¿ì ±âº» method ´Â GET ÀÔ´Ï´Ù. ![]() |
|
GET ¹æ½ÄÀÇ °æ¿ì ³Ñ°ÜÁÖ´Â °ªÀº ÁÖ¼ÒÁÙ¿¡ Ãß°¡µË´Ï´Ù. ù¹øÂ° ÀÔ·Ââ¿¡ okjsp ¶ó´Â °ªÀ» ÀÔ·ÂÇÑ ÈÄ¿¡ Àü¼Û ¹öưÀ» ´©¸£¸é ´ÙÀ½ ȸéÀº ´ÙÀ½°ú °°ÀÌ ³ª¿À°Ô µË´Ï´Ù. Ư¡ÀûÀÎ °ÍÀº GETÀ» ÅëÇÑ °ªÀÇ Àü´ÞÀº ÁÖ¼ÒÁÙÀ» Ÿ°í Àü´ÞÀÌ µË´Ï´Ù. µû¶ó¼ ¼¹ö¸¶´Ù ´Ù¸£Áö¸¸ ´ë·« 230¹ÙÀÌÆ® ÀÌ»óÀÇ °ªÀº Àü´ÞÇÒ ¼ö ¾ø°Ô µË´Ï´Ù. ¶§¹®¿¡ ºñ¹Ð¹øÈ£ °°Àº Áß¿äÇÑ °ªµéÀº ³ëÃâµÇ±â ½±°í, Ç׸ñÀÌ ¸¹Àº form ¾ç½ÄÀº GET¹æ½ÄÀ¸·Î ó¸®ÇÏÁö ¾ÊÀ» ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù. ![]() |
|
POST ¹æ½ÄÀº °ªÀÇ Àü´Þ°æ·Î´Â header ºÎºÐÀÔ´Ï´Ù. getContentLength() ¸Þ¼Òµå¸¦ ÅëÇØ¼ Àü´ÞµÇ´Â °ªÀÇ Byte Å©±â¸¦ ¾Ë ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¶§ parameter À̸§°ú °ªÀÌ = À» »çÀÌ¿¡ µÎ°í, Ç׸ñ°ú Ç׸ñÀº & ·Î ±¸ºÐµÈ ¹®ÀÚ¿·Î Header ¸¦ ÅëÇØ¼ Àü´ÞÀÌ µË´Ï´Ù. ^^ ÁÖ¼ÒÁÙ¿¡ GET ¹æ½ÄÀÇ ÀÚ±¹À» ³²±ää POST ÆûÀ» »ç¿ëÇϸé ÁÖ¼ÒÁÙÀÇ ÆÄ¶ó¸ÞÅ͵µ Àü´ÞÀÌ µË´Ï´Ù. µÎ¹øÂ° ÀÔ·Ââ¿¡ okjsppost ¸¦ ÀÔ·ÂÇϰí Àü¼ÛÇÏ¸é ¾Æ·¡ ±×¸²°ú °°ÀÌ ³ª¿É´Ï´Ù. ![]() |
|
contentLength °¡ 15°¡ ³ª¿Ô½À´Ï´Ù. Àú ±æÀÌÀÇ Àǹ̴ "pname=okjsppost"¸¦ »ý°¢Çغ¸¸é ½±°Ô ÀÌÇØ°¡ °¥ °ÍÀÔ´Ï´Ù. getParameter("pname") ÇßÀ» °æ¿ì okjsppost °¡ ³ª¿À´Â °ÍÀº ´Ù ¾Æ½Ã°ÚÁÒ. ±×¸®°í contentType ÀÌ application/x-www-form-urlencoded ÀÎ °Íµµ ±â¾ïÇØµÎ½Ã±â ¹Ù¶ø´Ï´Ù. |
|
form tag ¿¡ enctype="multipart/form-data" ÀÏ °æ¿ì Àü¼Û¿¡ ´ëÇØ¼ »ìÆìº¾½Ã´Ù. °¡Àå ¸¹ÀÌ Áú¹®µÇ´Â °ÍÀÌ ¿Ö ÆÄÀÏÀº ¾÷·Îµå µÇ´Âµ¥ request.getParameter() ·Î º¯¼ö°ªÀ» °¡Á®¿ÀÁö ¸øÇϴ°¡ ÀÔ´Ï´Ù. (ÀÌ°Í Áú¹®ÇÏ´Â »ç¶÷ 100¸íµµ ´õ ºÃ½À´Ï´Ù. ÀÌ ¹®Á¦ ¶§¹®¿¡ ÀÌ °Á¸¦ ¾´ °ÍÀ̱⵵ ÇÏÁÒ. ÀÏÁ¾ÀÇ FAQ ¶ó°í ÇÒ ¼ö ÀÖÁÒ.) ÀÏ´Ü multi ¶ó´Â °ª¸¸ ³Ö¾î¼ º¸³»¸é 293~300 »çÀÌÀÇ °ªÀÌ ³ª¿É´Ï´Ù. ¿Ö À̸® °¡º¯ÀûÀÎÁö´Â ¾ÆÁ÷ Àúµµ ´õ ã¾ÆºÁ¾ßÇÒ °Í °°±¸¿ä(Àúµµ À̰ŠºÐ¼®Àº óÀ½ÀÔ´Ï´Ù. ^^) "mpname=multi" ¿Ü¿¡µµ ¹º°¡ ´Ù¸¥ °ÍÀÌ 280¹ÙÀÌÆ® ÀÌ»óÀÇ Á¤º¸¸¦ °°ÀÌ º¸³½´Ù´Â °ÍÀ» °¨À» ÀâÀ¸¼Å¾ß ÇÕ´Ï´Ù. ½±Áö´Â ¾ÊÀ» °Í °°ÁÒ? ±×·¸½À´Ï´Ù. ½±Áö ¾Ê½À´Ï´Ù. ÀÌ °ªÀ» ºÐ¼®Çؼ »Ì¾Æ³»¾ß(parsing) Çϴµ¥ Á÷Á¢ÇÏ°Ô µÈ´Ù¸é °ñ ¾ÆÇà °ÍÀÔ´Ï´Ù. ´ÙÇེ·´°Ôµµ ¹«·á·Î °ø°³µÈ MultipartRequest ¶ó´ø°¡ ¹®Á¦°¡ Á» ÀÖÁö¸¸ ±â´ÉÀÌ ÁÁÀº jspsmartupload ¿Í °³¹ßÀÚ°¡ Ã¥À» ±¸ÀÔÇØ¾ß »ç¿ë±ÇÇÑÀ» ¾òÀ» ¼ö ÀÖ´Â jason hunter ÀÇ O'reilly MultipartRequest µîÀÌ ÀÖ½À´Ï´Ù. ±¹³» °³¹ßÀÚµéÀÌ °ø°³ÇÏ´Â ÀÚ¹ÙÀÇ²Þ ´ÔÀÇ NewTakeUpload µîµµ ÀÖ±¸¿ä. Áߺ¹ÆÄÀÏó¸® ¸Þ¼Òµåµµ ÀÖ´Ù°í ÇÕ´Ï´Ù. À̰͵éÀÇ ¼Ò½º¸¦ ±¸Çؼ ºÐ¼®Çغ¸½Ã´Â °Íµµ ³ª»ÚÁö ¾Ê°ÚÁÒ. ![]() |
|
multipart ¿¡ ´ëÇØ¼´Â ´ÙÀ½¿¡ ´õ ÁýÁߺм®Çغ¸µµ·Ï Çϰí, ¿©±â¼´Â request.getParameter() ±× ÀÌ»óÀÇ ¹º°¡°¡ ÀÖ´Ù´Â °ÍÀ» ¾Æ´Â °ÍÀ¸·Î ¸¸Á·Çϵµ·Ï ÇÏÁÒ. ±×·³ ÀÌ °ªÀ» ¹ÞÀ» ¼ö ÀÖ´Â ¹æ¹ýÀ» °£´ÜÈ÷ ¼Ò°³ÇÏ°í ¸¶Ä¡µµ·Ï ÇϰڽÀ´Ï´Ù. jason hunter ÀÇ MultipartRequest ¿¡¼ ¾÷·Îµå °´Ã¼(multi)¸¦ »ý¼ºÇÏ¸é¼ ¾÷·Îµå¸¦ ÇÕ´Ï´Ù. ÀÌ MultipartRequest Ŭ·¡½º¿¡´Â request ¿¡¼ »ç¿ëÇß´ø ¸Þ¼ÒµåµéÀ» ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Áö¿øÇÕ´Ï´Ù. µû¶ó¼ request ´ë½Å °´Ã¼¸í(multi) À» »ç¿ëÇØ¼ ¿øÇÏ´Â ÆÄ¶ó¸ÞÅͰªÀ» »Ì¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù. ¾Æ·¡ ¼Ò½º¸¦ º¸½ÃÁÒ. Á¦°¡ »ç¿ëÇÏ´Â ¼Ò½º ÁßÀÇ ÀϺÎÀÔ´Ï´Ù. filename Àº ´Ù¸¥ ¹æ½ÄÀ¸·Î »Ì¾Æ³»´Â °Íµµ À¯½ÉÈ÷ »ìÆìº¸¼¼¿ä.
board_write2.jsp ÆÄÀÏ Áß
|
|
À̹ø °Á´ ¿©±â¼ ¸¶Ä¡°Ú½À´Ï´Ù. Àúµµ API ¸¦ ´õ º¸¸é¼ °øºÎ¸¦ Á» ´õ ÇÑ ´ÙÀ½¿¡ multipart ¿¡ ´ëÇØ¼ ´õ ±íÀº ³»¿ëÀÇ °Á¸¦ ÁغñÇØº¸°í ½Í½À´Ï´Ù.(^^; ¾ðÁ¦ °Á°¡ ½áÁúÁö´Â Àúµµ... ÇìÇì). Jason Hunter ÀÇ ÀÚ¹Ù ¼ºí¸´ ÇÁ·Î±×·¡¹Ö °³Á¤ÆÇ(ÇѺû¹Ìµð¾î, ÀÌâ½Å ¹ø¿ª) Ã¥¿¡ ÀÚ¼¼ÇÑ ³»¿ëÀÌ ÀÖÀ¸´Ï Âü°íÇϽñ⠹ٶø´Ï´Ù. |
|
°ü·Ã »çÀÌÆ® |
|
¡áhttp://www.servlets.com/cos/
Jason Hunter ÀÇ MultipartRequest ¸¦ ±¸ÇÒ ¼ö ÀÖ´Â °÷ |
|
¡áhttp://iasandcb.hihome.com/cosi/
MultipartRequestÀÇ ±¹Á¦È¹öÀüÀ» ±¸ÇÒ ¼ö ÀÖ´Â °÷ |
|
¡áhttp://aboutjsp.com/lec/multipart.htm
MultipartRequest»ç¿ë¹ý aboutjspÀÇ À̼±Àç´Ô °ÀÇ |
|
¡áhttp://cafe.daum.net/DOJ
Dream Of Java ´ÔÀÇ NewTakeUpload ¸¦ ±¸ÇÒ ¼ö ÀÖ´Â °÷ |
|
¡áhttp://okjsp.pe.kr/heogn/lecture/lec05/fileup01.htm
FileUpload ÄÄÆ÷³ÍÆ® ¼Ò½º¿Í ¿¹Á¦ |
|
¡áhttp://www.kimho.pe.kr/jsp/jsp_upload.html
Jason Pell ÀÇ MultipartRequest ¿¡ ´ëÇÑ ±èÈ£´ÔÀÇ °Á |
| xml-typed document http://okjsp.pe.kr |