Using Form Tag #2

 
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
 
public class form2 extends HttpServlet {
 public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
  String ip, msg, date;
  res.setContentType("text/html");
  PrintWriter toClient = new PrintWriter(res.getOutputStream(),true);
  ip = req.getRemoteHost();
  msg = req.getParameterValues("msg")[0];
  Date today = new Date();
  date = today.toString();
  toClient.println("<html><title> test servlets Post </title>");
  toClient.println("<body bgcolor=white>");
  toClient.println("<br><hr><h1> Form Servlet 2</h1><hr><br><BR>");
  toClient.println("IP of You : "+ip+"<br>");
  toClient.println("<bR>Date of this servlet executed :"+date+"<br>");
  toClient.println("<br>Message from Client : "+msg+"<br>");
  toClient.println("<BR><BR><BR>");
  toClient.println("</body></html>");
 }
}
 
 
À̹ø ¿¹Á¦´Â Àü¹ø °­Á¿¡¼­ ÇÑ form1 ¼­ºí¸´À» postÇüÀ¸·Î ¹Ù²Û°ÍÀÔ´Ï´Ù. Àü¹øÀÇ ¿¹Á¦¿ÍÀÇ Â÷ÀÌ´Â °ÅÀÇ Ã£¾Æ º¸±â ¾î·Æ½À´Ï´Ù. Ŭ·¡½º¸¦ ¼³¸íÇϱâ Àü¿¡ ¿ì¼± html¹®¼­¸¦ º¸¿© µå¸®°Ú½À´Ï´Ù.
 
<html>
<title> testing JAVA Servlet Second</title>
<body bgcolor=white>
<br><BR><hr>
<form action=http://[Your Server]:[port]/servlet/form2 method=post><br>
¸Þ¼¼Áö¸¦ ÀÔ·Â Çϼ¼¿ä : <input type=text name=msg><br>
<input type=submit value=Àü¼Û><br></form>
<hr>
</body></html>
 
À§ÀÇ html¹®¼­¸¦ º¸¸é ¹Ù²ï°ÍÀº ´ÜÁö actionÀÇ Å¬·¡½º¿Í methodÀÔ´Ï´Ù. Get method¿¡¼­ Post method·Î ¹æ¹ýÀ» ¹Ù²Û °ÍÀÔ´Ï´Ù. ÀÌ·¸°Ô ¹Ù²î¸é 󸮵Ǿî¾ß ÇÏ´Â ¼­ºí¸´µµ ¹Ù²î¾î¾ß ÇÏ°ÚÁö¿ä. ¿ì¼± Post·Î ¹Ù²Ù´Â ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇϱâ Àü¿¡ Get°ú PostÀÇ Â÷ÀÌÁ¡ºÎÅÍ °£´ÜÈ÷ ¾Ë·Á µå¸®°Ú½À´Ï´Ù. ¿ª½Ã ÀÚ¼¼ÇÑ °ÍÀº TCP/IP³ª CGI¿¡ °ü·ÃµÈ Ã¥À» ÂüÁ¶ ÇϽñ⠹ٶø´Ï´Ù.
¿ì¼± GetÀº URL¿¡ ³»¿ëÀÌ Ã·ºÎµÇ¾î µé¾î°©´Ï´Ù. ±×·¯¹Ç·Î URL¿¡ º¸³»´Â ³»¿ëÀÌ ´Ù º¸ÀÌ°Ô µË´Ï´Ù. Áï Yahoo³ª ½É¸¶´Ïµî¿¡¼­ ÀÚ·á °Ë»öÀ» ÇÒ¶§ URL µÚ¿¡ ?°¡ ³ª¿À°í ±× µÚ·Î ÀÌ»óÇÑ ±ÛÀÚ°¡ ÁÖ~¿í ºÙ´Â°Í, ±×·± ¹æ½ÄÀÌ ¹Ù·Î GetÀ̱¸¿ä, ±×·¸Áö ¾Ê°í ¾îµð ¹æ¸í·ÏÀ̳ª °Ô½ÃÆÇ¿¡ ±ÛÀ» ¾µ¶§ URL¿¡ ÁöÀúºÐÇÏ°Ô µû¶ó ºÙ´Â °ÍµéÀÌ ¾ø´Â °ÍÀ» º¸½Å ÀûÀÌ ÀÖÁö¿ä? ±×·² ¶§¿¡ »ç¿ëÇÕ´Ï´Ù. ÀÌ°Ç »ç½Ç Áß¿äÇÑ Â÷ÀÌÁ¡ÀÏ ¼ö ÀÖ½À´Ï´Ù. ¸¸ÀÏ password¸¦ ÀÔ·Â ¹Þ´Â ¼­ºí¸´À» ÀÛ¼ºÇÑ´Ù°í »ý°¢ÇØ º¸½Ê½Ã¿ä. URL¿¡ ±× password°¡ ´Ù º¸ÀÎ´Ù¸é ±×°ÍÀº password·Î¼­ÀÇ °¡Ä¡¸¦ ÀÌ¹Ì »ó½ÇÇß´Ù°í º¸¾Æµµ µÇ°ÚÁö¿ä? ±×·±°ÍÀ» ´ëºñÇϱâ À§Çؼ­ POST¸¦ »ç¿ëÇÕ´Ï´Ù. »Ó¸¸ ¾Æ´Ï¶ó GetÀº 256ByteÀÌ»óÀº º¸³¾ ¼ö ¾ø½À´Ï´Ù. ±×·±µ¥ ¹æ¸í·ÏÀ̳ª °Ô½ÃÆǵ¼­´Â ¸¹Àº ³»¿ëÀ» º¸³»¾ß ÇÒ ÇÊ¿ä°¡ ÀÖÀ¸¹Ç·Î, ÀÌ·²¶§´Â GetÀÌ »ç¿ëÀÌ ºÒ°¡´É ÇÕ´Ï´Ù. ÀÌ·¸°Ô Post°¡ À̵æÀÌ ¸¹Àºµ¥ ¿Ö GetÀº ¾ø¾îÁöÁö ¾Ê°í ³²¾Æ ÀÖÀ»±î¿ä? ¾ÆÁÖ ´Ü¼øÈ÷ »ç¿ëÀÌ Æí¸®Çϱ⠶§¹®ÀÔ´Ï´Ù. °£´ÜÇÑ Encoding Rule¸¸ ¾Ë¸é »ç¿ëÇÒ ¼ö ÀÖÀ¸´Ï±î¿ä. ÀÚ¼¼ÇÑ Encoding¹æ¹ýÀº ´Ù¸¥ Ã¥À» Âü°íÇϽñ⠹ٶø´Ï´Ù. ÇÏ¿©°£ °Ô½ÃÆǵ¼­ ÆäÀÌÁöÀÇ À̵¿µî¿¡´Â Get¸Þ¼Òµå¸¦, ½ÇÁ¦·Î ÀڷḦ µî·ÏÇÏ´Â µîÀÇ ÀÏ¿¡´Â Post¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÀϹÝÀûÀÔ´Ï´Ù.
¾î¶² ºÎºÐÀÌ ¹Ù²î¾ú´ÂÁö ã¾Æ º¸½Ã±â ¹Ù¶ø´Ï´Ù.
ã¾Æ º¸¼Ì½À´Ï±î? ¹Ù²ï°÷ÀÌ °ÅÀÇ ¾øÁö¿ä?
¿ì¼± ¸Þ¼Òµå°¡ doGet¿¡¼­ doPost·Î ¹Ù²î¾úÁö¿ä? ÀÌ°ÍÀº Post¸¦ »ç¿ëÇÏ°Ú´Ù´Â °ÍÀÔ´Ï´Ù. ±×¸®°í´Â

msg = req.getParameterValues("msg")[0];

À§ÀÇ ÇÑ ÁÙ¸¸ÀÌ ¹Ù²î¾ú±º¿ä. ¿ø·¡´Â

msg = req.getParameter("msg");

¿´¾ú½À´Ï´Ù. µÑÀÇ Â÷ÀÌ´Â ¹«¾ùÀϱî¿ä? servlet¿¡¼­´Â PostÇüÀ¸·Î ¹Þ¾Æ µéÀÌ´Â °æ¿ì¿Í GetÇüÀ¸·Î ¹Þ¾ÆµéÀÏ °æ¿ì¿¡ ¸Þ¼Òµå¸¦ Â÷À̸¦ µÎ¾ú½À´Ï´Ù. Áï , getParameter(String) ¸Þ¼Òµå´Â Get¹æ½Ä¿¡¼­, getParameterValues(Stirng)Àº Post¹æ½Ä¿¡¼­ »ç¿ëÇÏ°Ô µË´Ï´Ù.. getParameterValues(String)¸Þ¼Òµç´Â String[] À» ¹ÝȯÇÕ´Ï´Ù. Áï client·ÎºÎÅÍ ³Ñ¾î¿À´Â StringÀÇ array¸¦ ¹ÝȯÇÏ´Â °ÍÀÌÁö¿ä. ±×·¯³ª À§ÀÇ ¿¹Á¦¿¡¼­´Â ¿ÀÁ÷ ÇϳªÀÇ ³»¿ë¸¸ ³Ñ¾î ¿À¹Ç·Î, 0¹ø° ÀÎÀÚ¸¸ ¹Þ¾Æ¼­ »ç¿ëÇÕ´Ï´Ù.
À§ÀÇ ½ÇÇà °á°ú´Â ¿©±â¼­ È®ÀÎ ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù. È®ÀÎÇϽø鼭 ²À »ìÆì º¸¼Å¾ß ÇÒ °ÍÀº BrowserÀÇ LocationâÀÔ´Ï´Ù. ¾î¶»°Ô ¹Ù²î´ÂÁö ²À »ìÆì º¸½Ã±â ¹Ù¶ø´Ï´Ù.

¿©±â¼­ ¶Ç Çϳª È®ÀÎÇØ º¸½Ç ÀÏÀÌ ÀÖ½À´Ï´Ù. Post·Î ¸¸µé¾îÁø servletÀ» Get¹æ½ÄÀ¸·Î ¿äûÀ» ÇÏ¸é ¾î¶»°Ô µÇ´ÂÁöÀÔ´Ï´Ù. http://hycedu.hanyang.ac.kr:1206/servlet/form2?msg=message·Î µé¾î°¡¸é ¾î¶»°Ô µÇ´ÂÁö ²À È®ÀÎÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù. 400 Bad Request Error°¡ ¹ß»ýÇÕ´Ï´Ù. ÀÌ°Ô ¹«½¼ ¿¡·¯Àϱî¿ä? Post·Î µÇ¾î ÀÖ´Â ¼­ºí¸´À» Get¹æ½ÄÀ¸·Î È£ÃâÇß´Ù´Â ¶æÀ¸·Î, ±×·¸°Ô »ç¿ëÀÌ ºÒ°¡´É ÇÏ´Ù´Â ¶æÀÔ´Ï´Ù. Áï, GetÀº GetÀ¸·Î, Post´Â Post·Î ÀÛ¼ºµÈ ¼­ºí¸´À» È£ÃâÇؾßÇÕ´Ï´Ù.




¨Ï 1999 Lee Min Goo, All rights are reserved Last modified 1999
If you have any question, send mail to bluehope