¼Ò¼³°°ÀºJSP1ºÎ  4Àå Core of Servlet  08 Get¹æ½Ä°ú Post¹æ½Ä¿¡¼­ ÇѱÛ󸮠 

 

08 Get¹æ½Ä°ú Post¹æ½Ä¿¡¼­ ÇѱÛó¸®

 

Get¹æ½ÄÀÇ µ¥ÀÌÅ͸¦ ±¸ºÐÇÒ ¶§ ¡®?¡¯°ú ¡®&¡¯·Î ±¸ºÐÇÏ°Ô µË´Ï´Ù. ÇÏÁö¸¸ µ¥ÀÌÅÍ ÀÚü¿¡ ¡®?¡¯³ª ¡®&¡¯µîÀÇ Æ¯¼ö¹®ÀÚ°¡ Æ÷ÇԵǾî ÀÖ´Ù¸é À߸øµÈ ¹æ½ÄÀ¸·Î ÇØ¼®ÇÏ°Ô µË´Ï´Ù. ´ÙÀ½ÀÇ ¿¹Á¦´Â Get¹æ½ÄÀÇ Query¿¡¼­ Ư¼ö¹®ÀÚ(&)µéÀ» Æ÷ÇÔÇϰí ÀÖ´Ù¸é URLEncoder.encode() ¸Þ¼­µå¸¦ »ç¿ëÇÏ¿© ÇØ°áÇϰí ÀÖÀ¸¸ç ÇѱÛÀÇ ±úÁüÀ» ¹æÁöÇϱâ À§Çؼ­ Äõ¸®¸¦ ¹Þ¾ÒÀ» ¶§ HangulEncoder.toKSC5601 ¸Þ¼­µå¸¦ »ç¿ëÇÏ¿© º¯È¯ÇÏ´Â ¹æ¹ýÀÇ ¿¹¸¦ º¸¿©ÁÖ°í ÀÖ½À´Ï´Ù.

 

GetMethodEncoding.java

Get°ú Post¹æ½ÄÀÇ ÇѱÛó¸®¿Í URL Encoding¹æ¹ý

package chap4;
import java.io.*;  
import java.net.*;
import javax.servlet.*;  
import javax.servlet.http.*; 
import org.jabook.util.*;
public class GetPostEncoding extends HttpServlet {  
  
public void doGet(HttpServletRequest request, HttpServletResponse response)  
    
throws ServletException, IOException {
    response.setContentType(
"text/html;charset=euc-kr");
    PrintWriter out = response.getWriter();  
    out.println(
"<html><body>");
    out.println(
"<h2>Get¹æ½ÄÀÇ URLEncoding°ú ÇѱÛó¸®</h2>");
    out.println(
"<b>'¹®ÀÚ'¶ó´Â ±ÛÀÚ°¡ ¾ø¾îÁü:</b> ");
    out.println(
"<a href='/MySample/servlet/chap4.GetPostEncoding?name=Ư¼ö&¹®ÀÚ'>");
    out.println(
"Ư¼ö&¹®ÀÚ</a><br>");
    String encodeStr = URLEncoder.encode(
"Ư¼ö&¹®ÀÚ");
    out.println(
"<b>URLEncoder»ç¿ë:</b> ");
    out.println(
"<a href='/MySample/servlet/chap4.GetPostEncoding?name="+encodeStr+"'>");
    out.println(encodeStr+
"</a><br>");
    String name = request.getParameter(
"name");
    
if(name!=null){
      out.println(
"<h3>Name:" + HangulEncoder.toKSC5601(name) + "</h3>");
    }
else{
      out.println(
"<h3>Nothing Parameter</h3>");
    }
    
this.printPostForm(out);
    out.println(
"<body></html>");
  }
  
public void doPost(HttpServletRequest request, HttpServletResponse response)  
    
throws ServletException, IOException {
    doGet(request, response);
  }
  
private void printPostForm(PrintWriter out){
    out.println("<form action=/MySample/servlet/chap4.GetPostEncoding method=post>");
    out.println(
"<h2>Post¹æ½ÄÀÇ QueryÀü¼Û°ú ÇѱÛó¸®</h2>");
    out.println(
"<input type=text name='name'>");
    out.println(
"<input type=submit>");
    out.println(
"</form>");
  }
}

 

Get¹æ½ÄÀ̵çÁö Post¹æ½ÄÀ̵çÁö ÇѱÛÀÇ Ã³¸®ÀÇ ¹æ¹ýÀº °°½À´Ï´Ù. ¾Õ Àý¿¡¼­ ¾ð±ÞÇÑ °Í°ú °°ÀÌ ±úÁø ÇѱÛÀ» ¹Þ¾ÒÀ» ¶§´Â HangulEncoder.toKSC5601() ¸Þ¼­µå¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¸¾à nameÀ̶ó´Â Äõ¸®°¡ Ŭ¶óÀÌ¾ðÆ®·ÎºÎÅÍ Àü¼ÛµÈ´Ù¸é ´ÙÀ½°ú °°Àº ±¸¹®À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

 

ÇÑ±Û º¹¿øÇÏ´Â ¹æ¹ý

n        String name = request.getParameter(¡°name¡±);

n        name = HangulEncoder.toKSC5601(name);

 

Post¹æ½Ä¿¡¼­ Àü¼ÛµÇ´Â µ¥ÀÌÅÍ´Â Àü¼ÛµÉ ¶§ ÀÚµ¿À¸·Î À¥ ÀÎÄÚµù(x-www-formed-urlencoded)À» ÇÏ°Ô µË´Ï´Ù. ÇÏÁö¸¸ Get¹æ½Ä¿¡¼­´Â Ư¼ö¹®ÀÚ³ª °ø¹éÀÌ Æ÷ÇԵǾî ÀÖÀ¸¸é GetÀ¸·Î Àü´ÞµÇ´Â Äõ¸®°¡ À߸øÀÎ½Ä µÉ ¼ö ÀÖ½À´Ï´Ù.

 

´ÙÀ½°ú °°Àº Äõ¸®°¡ Á¸ÀçÇÒ ¶§ Ư¼ö¹®ÀÚ &´Â Äõ¸®ÀÇ ±¸ºÐÀÚ·Î »ç¿ëµÇ±â ¶§¹®¿¡ name¿¡ ¡®Æ¯¼ö¡¯¶ó´Â °ªÀ» ¹Þ¾ÆµéÀÌ¸ç ¡®¹®ÀÚ¡¯´Â À߸®°Ô µË´Ï´Ù.

 

n         /MySample/servlet/chap4.GetPostEncoding?name=Ư¼ö&¹®ÀÚ

 

ÀÌ·¯ÇÑ ¹®Á¦Á¡À» ÇØ°áÇϱâ À§Çؼ­ URLEncoder.encode() ¸Þ¼­µå¸¦ »ç¿ëÇÕ´Ï´Ù.

 

n         String str = URLEncoder.encode(¡°Æ¯¼ö&¹®ÀÚ¡±);

 

ÀÌ¿Í °°Àº ÀÎÄÚµùÀ» °ÅÄ¡¸é ÀÚµ¿À¸·Î À¥ ÀÎÄÚµùÀ» ÇÑ ¹®ÀÚ¿­À» ³Ñ°ÜÁÖ°Ô µË´Ï´Ù. Áï, ¡®Æ¯¼ö&¹®ÀÚ¡¯¶ó´Â ¹®ÀÚ¿­À» ÇϳªÀÇ ¹®ÀÚ¿­·Î ÀνÄÇÒ ¼ö ÀÖÀ¸¸ç Äõ¸®·Î Àü¼ÛÇÏ´õ¶óµµ ¹®Á¦°¡ µÇÁö ¾Ê½À´Ï´Ù.



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