¼Ò¼³°°ÀºJSP1ºÎ  2Àå Basic of Servlet  11 HttpServlet doPost  

11 HttpServlet doPost

 ÀÌ ÇÁ·Î±×·¥Àº Ŭ¶óÀÌ¾ðÆ®°¡ Post¹æ½ÄÀ¸·Î ¿äûÇÒ ¶§ °á°ú¸¦ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ÀÀ´äÀ¸·Î º¸³»ÁÖ´Â ¿¹Á¦ÀÔ´Ï´Ù. ¼­ºí¸´ÀÇ doPost¸Þ¼­µåÀÇ »ç¿ë¹ýÀº doGet¸Þ¼­µåÀÇ »ç¿ë¹ý°ú °ÅÀÇ ¶È°°½À´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®°¡ À¥ºê¶ó¿ìÁ®ÀÇ ÁÖ¼ÒÁÙ¿¡¼­ ¿äûÀ» ÇßÀ» ¶§´Â Get¹æ½ÄÀÇ ¿äûÀÌ ÀÌ·ç¾îÁöÁö¸¸ HtmlÀÇ ÆûÀÇ Àü¼Û¹æ½ÄÀ» Post·Î ¼ÂÆÃÇÏ°í ¼­ºí¸´À» ¿äûÇßÀ» ¶§´Â doPost°¡ È£ÃâµÇ´Â °ÍÀÔ´Ï´Ù. ¾Æ·¡ÀÇ ±×¸²Àº Formű׸¦ ÀÌ¿ëÇÏ¿© ¼­ºí¸´À» ¿äûÇÏ´Â ±¸Á¶¸¦ µµ½ÄÈ­ÇÑ ±×¸²ÀÔ´Ï´Ù.

´ÙÀ½ÀÇ ¿¹Á¦´Â HttpServlet doGet¿¹Á¦¿Í ºñ½ÁÇÕ´Ï´Ù. ¾Æ·¡¿Í °°ÀÌ ÄÚµùÇÑ ÈÄ MySampleµð·ºÅ丮ÀÇ WEB-INFÀÇ classesµð·ºÅ丮¿¡ HelloDoPost.javaÆÄÀÏÀ» »ý¼ºÇϽÃÄÑ ³õ°í classesµð·ºÅ丮³»¿¡¼­ ÄÄÆÄÀÏ ÇØ ³õ¾Ò½À´Ï´Ù. ±×¸®°í Post¹æ½ÄÀ¸·Î Àü¼ÛÇϱâ À§ÇÏ¿© html¿¡ formű׸¦ ÀÌ¿ëÇÏ¿© form ű×ÀÇ method¸¦ post·Î ÁöÁ¤Çϰí ÀÖ½À´Ï´Ù. ¿¹Á¦¸¦ ºÐ¼®ÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

HelloDoPost.java

DoPost¸Þ¼­µå¸¦ Å×½ºÆ®Çϱâ

import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*; 
public class HelloDoPost extends HttpServlet { 
  
public void doPost(HttpServletRequest request, HttpServletResponse response) 
    
throws ServletException, IOException { 
    PrintWriter out = response.getWriter(); 
    String name = request.getParameter(
"name");
    out.println(
"<html><body>"); 
    out.println(
"<h1> Hello doPost Test</h1>"); 
    
if(name != null){
      out.println(
"<h2>"+name+"</h2>");    
    }
else{
      out.println(
"<h2>nothing parameter</h2>");
    }
    out.println(
"</body></html>"); 
  } 
}

HelloDoPost.html

HelloWorld ¼­ºí¸´ Å×½ºÆ®Çϱâ

<HTML><HEAD><TITLE>doPost Å×½ºÆ®</TITLE></HEAD>
<BODY>
<h1>doPost Å×½ºÆ®</h1>
<form action="/MySample/servlet/HelloDoPost" method="Post">
  <input type="text" name="name">
  <input type="submit" name="submit1">
</form>
</BODY>
</HTML>

C:\jakarta\webapps\MySample\WEB-INF\classes>javac HelloDoGet.java

C:\jakarta\webapps\MySample\WEB-INF\classes>dir HelloDoGet.*

C:\jakarta\webapps\MySample\WEB-INF\classes µð·ºÅ͸®

2002-02-18  01:46a               1,064 HelloDoGet.class

2002-02-18  01:46a                 594 HelloDoGet.java

ÄÄÆÄÀÏÀÌ ¿Ï·á µÇ¾ú´Ù¸é ¿©·¯ºÐÀº ¾Æ·¡ÀÇ ÁÖ¼Ò·Î ¼­ºí¸´¿¡ Á¢±ÙÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.

http://localhost:8080/MySample/HelloDoPost.html

ÁÖÀÇ ÇÒ °ÍÀº HelloServlet¾Õ¿¡ servletÀ̶ó´Â ¼ö½Ä¾î°¡ ºÙ´Â´Ù´Â °ÍÀ» ±â¾ïÇϽʽÿÀ.

 

ÀÛ¼ºÇÑ Html¹®¼­¸¦ ½ÇÇà½Ã۸é À§ ±×¸²°ú °°ÀÌ ÇϳªÀÇ input¹Ú½º°¡ ÀÖ°í Àü¼Û ¹öưÀÌ ÀÖ´Â Form¾ç½ÄÀÌ ¸¸µé¾îÁý´Ï´Ù. ±×¸®°í input¹Ú½º¿¡ ±ÛÀ» ÀÔ·ÂÇÑ ÈÄ Äõ¸®Àü¼Û ¹öưÀ» ´©¸£¸é Html¹®¼­ÀÇ Form¿¡¼­ ¼³Á¤ÇÑ ÁÖ¼Ò·Î Post¹æ½ÄÀÇ Å¬¶óÀÌ¾ðÆ® ¿äûÀÌ ÀÌ·ç¾îÁý´Ï´Ù.

 

À§ÀÇ À¥ºê¶ó¿ìÁ® ±×¸²°ú °°ÀÌ input¹Ú½º¿¡ ¡°jabook¡±À̶ó°í ÀÔ·ÂÇÑ ÈÄ Äõ¸®Àü¼ÛÀ» ´©¸£¸é, Html¹®¼­ÀÇ Formű׿¡ action¼Ó¼ºÀ¸·Î ¼³Á¤ÇÑ "/MySample/servlet/HelloDoPost"·Î °ªÀ» ³Ñ±â¸ç, À̶§ HelloDoPost¼­ºí¸´ÀÇ doPost¸Þ¼­µå´Â ÀÚµ¿À¸·Î È£ÃâµË´Ï´Ù. À̶§ request¿Í response´Â ÀÚµ¿À¸·Î ¼­ºí¸´ÀÇ ¸Å°³º¯¼ö ÇüÅ·Π³Ñ¾î¿À°Ô µË´Ï´Ù. ¹°·Ð, doPost´Â service¸Þ¼­µå¿¡ ÀÇÇØ¼­ ÀÚµ¿ È£ÃâµÇ¸ç service¸Þ¼­µå´Â Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¹æ½ÄÀ» È®ÀÎÇÏ°Ô µË´Ï´Ù. doPost¸Þ¼­µåÀÇ ¿øÇüÀº ´ÙÀ½°ú °°½À´Ï´Ù.

 

n        public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException

 

´ÙÀ½ °úÁ¤Àº À§ÀÇ HttpServlet doGet¸Þ¼­µå¿Í µ¿ÀÏÇÕ´Ï´Ù. Áï, doPost¸Þ¼­µåÀÇ ¸Å°³º¯¼ö HttpServletRequest¿Í HttpServletResponse´Â ÀÚµ¿À¸·Î ³Ñ¾î¿À°Ô µÇ¸ç ¿ª½Ã ÀÌ µÎ ¸Å°³º¯¼ö´Â Ŭ¶óÀÌ¾ðÆ®·ÎºÎÅÍÀÇ ¿äû°ú ÀÀ´äÀ» Ŭ·¡½º·Î ¸ÊÇÎÇÏ°Ô µË´Ï´Ù. À§ÀÇ ¿¹¿¡¼­´Â Post¹æ½ÄÀ¸·Î Ŭ¶óÀÌ¾ðÆ®°¡ Å×ÀÌÅ͸¦ ³Ñ±æ ¶§ À̰ÍÀ» ¸Å°³º¯¼öÀÎ request·ÎºÎÅÍ ¾ò¾î³À´Ï´Ù.

 

n        String name = request.getParameter("name");

 

 ±×¸®°í Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ÀÀ´äÀ» Çϱâ À§ÇÑ ½ºÆ®¸²À» ¾ò¾î³»±â À§Çؼ­ response°´Ã¼·ÎºÎÅÍ ´ÙÀ½°ú °°Àº ¸Þ¼­µå¸¦ »ç¿ëÇÕ´Ï´Ù.

 

n        PrintWriter out = response.getWriter();

 

 Å¬¶óÀÌ¾ðÆ®¿Í ¿¬°áµÈ ½ºÆ®¸² outÀ» ¾ò¾ú´Ù¸é ¿©·¯ºÐÀº ÀÌÁ¦ ½ºÆ®¸²À» ÀÌ¿ëÇØ¼­ Ŭ¶óÀÌ¾ðÆ®·Î Å×ÀÌÅ͸¦ Àü¼ÛÇϱ⸸ ÇÏ¸é µË´Ï´Ù. ¿©±â¼­µµ ´ëºÎºÐÀº À§¿Í °°ÀÌ out°´Ã¼ÀÇ println¸Þ¼­µå¸¦ ÀÌ¿ëÇÏ¿© Ŭ¶óÀÌ¾ðÆ®·Î µ¥ÀÌÅ͸¦ º¸³»±â¸¸ÇÏ¸é µË´Ï´Ù.



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