¼Ò¼³°°ÀºJSP1ºÎ  4Àå Core of Servlet  11 Çì´õ Ãâ·ÂÇϱ⠠

 

11 HttpServletRequest –Çì´õÃâ·ÂÇϱâ

 

HTTPÇÁ·ÎÅäÄÝÀÇ ¸Þ½ÃÁö´Â Å©°Ô 3ºÎºÐÀ¸·Î ³ª´©¾î »ý°¢ ÇØ º¼ ¼ö ÀÖ½À´Ï´Ù. Request ¿äû ¶óÀΰú Header ºÎºÐ ±×¸®°í ¸öü ºÎºÐÀ¸·Î ³ª´©¾î »ý°¢ÇØ º¼ ¼ö ÀÖ½À´Ï´Ù.

 

HTTP ÇÁ·ÎÅäÄÝÀÇ ¸Þ½ÃÁö ±¸ºÐ

n        Request ¿äû ¶óÀÎ

n        Header ºÎºÐ

n        Entity Body

 

ÀÌ Àý¿¡¼­´Â HeaderºÎºÐ¿¡ Á¸ÀçÇÏ´Â Header Namer°ú Header Value¸¦ ÃßÃâÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼­ ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù. ¾Æ·¡ÀÇ ±×¸²Àº HTTP ÇÁ·ÎÅäÄÝÀÇ ¸Þ½ÃÁö¸¦ ±¸Á¶ÀûÀ¸·Î ºÐ¼®ÇÑ ±×¸²ÀÌ´Ï Çѹø °ËÅäÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù.

 

 

 HTTP RequestÀÇ ¸Þ½ÃÁö ÇüÅ´ ¸Þ½ÃÁö ¿äû¶óÀο¡¼­ 3°¡Áö¸¦ Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù.

 

HTTP RequestÀÇ ¸Þ½ÃÁö ÇüÅ´ ¸Þ½ÃÁö ¿äû¶óÀο¡¼­

n        method

n        URL

n        version

 

°¢°¢Àº space·Î ³ª´µ¾îÁ® ÀÖÀ¸¸ç Á¦ÀÏ ¸¶Áö¸·¿¡´Â carriage return(¡¬r)°ú line feed(¡¬n)¸¦ ÷ºÎÇϰí ÀÖ½À´Ï´Ù.

 

¿äû¶óÀÎ ºÎºÐÀÇ ¿¹

n         GET /servlet/chap4.HeaderNames HTTP/1.1

 

±×¸®°í ¸öü ºÎºÐÀº ¿©·¯ ÁÙÀÇ ¡°Header field name : value¡± Çü½ÄÀ¸·Î µÇ¾î ÀÖ½À´Ï´Ù. ±¸ºÐÀÚ´Â ¡®:¡¯À» »ç¿ëÇϰí ÀÖÀ¸¸ç ¸¶Áö¸·¿¡´Â ¿äû¶óÀΰú ¸¶Âù°¡Áö·Î carriage return(¡¬r)°ú line feed(¡¬n)¸¦ Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù.

 

¸öüºÎºÐÀÇ ¿¹

n         accept:*/*

n         accept-language:ko

n         accept-encoding:gzip, deflate

n         host:localhost:8080

 

À§ÀÇ ±×¸²¿¡ Á¸ÀçÇÏ´Â Çì´õ À̿ܿ¡µµ ¿©·¯°¡Áö Çì´õµéÀÌ Á¸ÀçÇÕ´Ï´Ù. ¸î¸î Çì´õÀÇ À̸§ÀÇ ¸ñ·ÏÀº ´ÙÀ½°ú °°½À´Ï´Ù.

 

n         Accept, Accep-Charset, Accept-Encoding, Accept-Lanaguage, Authorization, Chache-Control, Connection, Content-Type, Cookie, Expect, From, Host, If-Match, If-Modified-Since, If-None-Match, If-Range, If-Unmodified-Since, Pragma, Proxy-Authorization, Range, Referer, Upgrade, User-Agent, Via, Warning

 

 ¸ðµç Çì´õ À̸§µéÀ» ÀüºÎ »ç¿ëÇÏÁö´Â ¾Ê½À´Ï´Ù. ´ÜÁö ÇÊ¿äÇÏ´Ù°í »ý°¢µÇ´Â °Í°ú »ç¿ëÀÚ°¡ Á÷Á¢ ¼ÂÆÃÇØ ÁÖ´Â Çì´õµé¸¸À» »ç¿ëÇÏ°Ô µË´Ï´Ù. Çì´õ¸¦ ÃßÃâÇÏ´Â ¿¹Á¦¸¦ Çϳª ´Ù·ç¾î º¸µµ·Ï ÇϰڽÀ´Ï´Ù. Çì´õ¸¦ ÃßÃâÇϱâ À§Çؼ­´Â getHeaderNames()¸Þ¼­µå¸¦ ÀÌ¿ëÇÏ¿© Çì´õ¿¡ Á¸ÀçÇϴ  À̸§À» ÀüºÎ ÃßÃâÇÏ¿© getHeader()¸Þ¼­µå¸¦ ÀÌ¿ëÇÏ¿© Çì´õ °ªµéÀ» ÃßÃâÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù.

 

HeaderNames.java

Header¿¡ Æ÷ÇÔ µÇ¾îÁø Á¤º¸¸¦ Ãâ·ÂÇÏ´Â ¿¹

package chap4;
import java.io.*;  
import java.util.*;
import javax.servlet.*;  
import javax.servlet.http.*;  
public class HeaderNames extends HttpServlet {  
  public void doGet(HttpServletRequest request, HttpServletResponse response)  
    throws ServletException, IOException {  
    PrintWriter out = response.getWriter();  
    out.println("<html><body>");
    Enumeration enum = request.getHeaderNames();
    while(enum.hasMoreElements()){
      String name = (String)enum.nextElement();
      String value = request.getHeader(name);
      out.println( name + ":" + value +"<br>");
    }
    out.println("</body></html>");
    out.close();
  }  
}

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

 

 Çì´õÀÇ ¸ðµç Header NameÀ» ÃßÃâÇϱâ À§Çؼ­ ´ÙÀ½°ú °°Àº ±¸¹®À» »ç¿ëÇÕ´Ï´Ù.

 

n        Enumeration enum = request.getHeaderNames();

 

Çì´õÀÇ À̸§À» EnumerationÀ¸·Î ¹Þ¾Æ ³»¾î ·çÇÁ¸¦ µ¹¸é¼­ ±× °ªÀ» ÃßÃâÇÏ´Â ºÎºÐÀº ¾Æ·¡¿Í °°½À´Ï´Ù.

 

n        while(enum.hasMoreElements()){

n           String name = (String)enum.nextElement();

n           String value = request.getHeader(name);

n           out.println( "<b>"+name+"</b>"+":"+value +"<br>");

n        }

 

°ªÀ» ÃßÃâÇÒ ¶§ »ç¿ëÇÏ´Â ¸Þ¼­µå´Â getHeader(name)¸Þ¼­µå¸¦ »ç¿ëÇϰí ÀÖ½À´Ï´Ù.



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