|
|||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||
°³¿ä: ³»ºÎ Ŭ·¡½º | Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå |
java.lang.Object | +--javax.servlet.GenericServlet | +--javax.servlet.http.HttpServlet
Web »çÀÌÆ®¿¡ ÀûÀýÇÑ HTTP ¼ºê ·¿À» ÀÛ¼ºÇϱâ À§Çؼ, ¼ºê Ŭ·¡½ºÈ¸¦ ÀüÁ¦·Î ÇÏ´Â abstract Ŭ·¡½º¸¦ Á¦°øÇÕ´Ï´Ù. HttpServlet
ÀÇ ¼ºê Ŭ·¡½º´Â, Åë»óÀº ÀÌÇÏ Áß Àû¾îµµ 1 °³ÀÇ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
doGet
doPost
doPut
doDelete
init
¹× destroy
getServletInfo
service
¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â ÀÌÀ¯´Â °ÅÀÇ ¾ø½À´Ï´Ù. service
´Â, Ç¥ÁØÀÇ HTTP ¿ä±¸¸¦ °¢°¢ÀÇ Å¸ÀÔ¿¡ ÀÀÇÑ Çڵ鷯 ¸Þ¼Òµå (À§¿¡¼ À϶÷Ç¥ ³ªÅ¸³ª°í ÀÖ´Â do
XXX ¸Þ¼Òµå)¿¡ ¹èºÐÇØ ó¸®ÇÕ´Ï´Ù.
°°ÀÌdoOptions
¹× doTrace
¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â ÀÌÀ¯µµ ¾ø½À´Ï´Ù.
¼ºê ·¿Àº Åë»ó multi-threadÈ µÈ ¼¹ö»ó¿¡¼ ½ÇÇàµÇ¹Ç·Î, ¼ºê ·¿Àº ¿ä±¸¸¦ ÆòÇàÀûÀ¸·Î ó¸®ÇÏÁö ¾ÊÀ¸¸é ¾ÈµÇ¾î, °øÀ¯ ¸®¼Ò½º¿¡ÀÇ ¾×¼¼½ºÀÇ µ¿±â¸¦ Àâ´Â µîÀÇ ÁÖÀǰ¡ ÇÊ¿äÇÕ´Ï´Ù. °øÀ¯ ¸®¼Ò½º¿¡´Â, ÀνºÅϽº ¶Ç´Â Ŭ·¡½º º¯¼ö¿Í °°Àº ¸Þ¸ð¸®³»ÀÇ µ¥ÀÌÅÍ¿Í ÆÄÀÏ, µ¥ÀÌŸº£À̽º Á¢¼Ó, ¹× ³×Æ®¿öÅ© Á¢¼ÓµîÀÇ ¿ÜºÎÀûÀÎ ¿ÀºêÁ§Æ®°¡ Æ÷ÇԵ˴ϴÙ. Java ÇÁ·Î±×·¥À¸·Î multi-thread¸¦ ó¸®ÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ °ÍÀº,multi-thread ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ Java Æ©Å丮¾óÀ» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
constructor¡¡ ¡¡ ÀÇ °³¿ä | |
HttpServlet ()
À̰ÍÀº abstract Ŭ·¡½ºÀ̱â (À§ÇØ)¶§¹®¿¡, ¾Æ¹«°Íµµ ½ÇÇàÇÏÁö ¾Ê½À´Ï´Ù. |
¸Þ¼ÒµåÀÇ °³¿ä | |
protected void |
doDelete (HttpServletRequest req,
HttpServletResponse resp)
¼ºê ·¿ÀÌ DELETE ¿ä±¸¸¦ ó¸®ÇÒ ¶§¿¡, ¼¹ö¿¡ ÀÇÇØ service ¸Þ¼Òµå °æÀ¯·Î ºÒ·Á °©´Ï´Ù. |
protected void |
doGet (HttpServletRequest req,
HttpServletResponse resp)
¼ºê ·¿ÀÌ GET ¿ä±¸¸¦ ó¸®ÇÒ ¶§¿¡, service ¸Þ¼Òµå °æÀ¯·Î ¼¹ö¿¡ ºÒ·Á °©´Ï´Ù.
|
protected void |
doHead (HttpServletRequest req,
HttpServletResponse resp)
protected ¶ó°í Á¤ÀÇµÈ service ¸Þ¼Òµå·ÎºÎÅÍ HTTP HEAD ¿ä±¸¸¦ ¹Þ¾Æµé¿©, ±× ¿ä±¸¸¦ ó¸®ÇÕ´Ï´Ù. |
protected void |
doOptions (HttpServletRequest req,
HttpServletResponse resp)
¼ºê ·¿ÀÌ OPTIONS ¿ä±¸¸¦ ó¸®ÇÒ ¶§, ¼¹ö¿¡ ÀÇÇØ service ¸Þ¼Òµå °æÀ¯·Î ºÒ·Á °©´Ï´Ù. |
protected void |
doPost (HttpServletRequest req,
HttpServletResponse resp)
¼ºê ·¿ÀÌ POST ¿ä±¸¸¦ ó¸®ÇÒ ¶§¿¡, service ¸Þ¼Òµå °æÀ¯·Î ¼¹ö¿¡ ÀÇÇØ ºÒ·Á °©´Ï´Ù. |
protected void |
doPut (HttpServletRequest req,
HttpServletResponse resp)
¼ºê ·¿ÀÌ PUT ¿ä±¸¸¦ ó¸®ÇÒ ¶§¿¡, ¼¹ö¿¡ ÀÇÇØ service ¸Þ¼Òµå °æÀ¯·Î ºÒ·Á °©´Ï´Ù. |
protected void |
doTrace (HttpServletRequest req,
HttpServletResponse resp)
¼ºê ·¿ÀÌ TRACE ¿ä±¸¸¦ ó¸®ÇÒ ¶§¿¡, ¼¹ö¿¡ ÀÇÇØ service °æÀ¯·Î ºÒ·Á °©´Ï´Ù. |
protected long |
getLastModified (HttpServletRequest req)
HttpServletRequest ¿ÀºêÁ§Æ®°¡ ¸¶Áö¸·¿¡ °»½ÅµÇ¾úÀ» ¶§ °¢À», GMT 1970 ³â 1 ¿ù 1 ÀÏ 0 ½ÃºÎÅÍÀÇ ¹Ð¸® ¼¼ÄÁµå¼ö·Î µ¹·ÁÁÝ´Ï´Ù. |
protected void |
service (HttpServletRequest req,
HttpServletResponse resp)
public ¶ó°í Á¤ÀÇ ±îºÐ service ¸Þ¼Òµå·ÎºÎÅÍ Ç¥ÁØÀÇ HTTP ¿ä±¸¸¦ ¹Þ¾Æµé¿©, ÀÌ Å¬·¡½º³»¿¡¼ Á¤ÀÇµÈ do XXX ¸Þ¼Òµå¿¡ ¹èºÐÇÕ´Ï´Ù. |
void |
service (ServletRequest req,
ServletResponse res)
Ŭ¶óÀÌ¾ðÆ® ¿ä±¸¸¦ protected ¶ó°í Á¤ÀÇµÈ service ¸Þ¼Òµå¿¡ ¹èºÐÇÕ´Ï´Ù. |
Ŭ·¡½º javax.servlet. GenericServlet ·ÎºÎÅÍ °è½ÂÇÑ ¸Þ¼Òµå |
destroy , getInitParameter , getInitParameterNames , getServletConfig , getServletContext , getServletInfo , getServletName , init , init , log , log |
Ŭ·¡½º java.lang.Object ·ÎºÎÅÍ °è½ÂÇÑ ¸Þ¼Òµå |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
constructor¡¡ ¡¡ ÀÇ »ó¼¼ |
public HttpServlet()
¸Þ¼ÒµåÀÇ »ó¼¼ |
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException , java.io.IOException
service
¸Þ¼Òµå °æÀ¯·Î ¼¹ö¿¡ ºÒ·Á °©´Ï´Ù.
GET ¿ä±¸¸¦ ¼Æ÷Æ®Çϱâ À§Çؼ ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) Çϸé(ÀÚ), HTTP HEAD ¿ä±¸µµ ÀÚµ¿ÀûÀ¸·Î ¼Æ÷Æ®ÇÏ°Ô µË´Ï´Ù. HEAD ¿ä±¸´Â, ÀÀ´ä³»¿¡ º»Ã¼°¡ ¾Æ´Ï°í ¿ä±¸ÀÇ Çì´õ Çʵ常À» µ¹·ÁÁÖ´Â GET ¿ä±¸ÀÔ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÒ ¶§´Â, ¿ä±¸ µ¥ÀÌÅ͸¦ Àо, ÀÀ´ä Çì´õ¸¦ ½á³», ÀÀ´äÀÇ ¶óÀÌÅÍ ¶Ç´Â Ãâ·Â ½Ã³Á¹° ¿ÀºêÁ§Æ®¸¦ ÃëµæÇØ, ¸¶Áö¸·¿¡ ÀÀ´ä µ¥ÀÌÅ͸¦ ½á³À´Ï´Ù. ±× ¶§, ÄÁÅÙÃ÷ Çü½Ä°ú ÀÎÄÚµùÀ» ÁöÁ¤ÇØ µÎ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÒ °ÍÀÔ´Ï´Ù. ÀÀ´äÀ» µ¹·ÁÁÖ±â À§Çؼ(¶§¹®¿¡) PrintWriter
¿ÀºêÁ§Æ®¸¦ »ç¿ëÇÏ´Â °æ¿ì´Â,PrintWriter
¿ÀºêÁ§Æ®¿¡ ¾×¼¼½º Çϱâ Àü¿¡, ÄÁÅÙÃ÷ Çü½ÄÀ» ¼³Á¤Çϵµ·Ï ÇØ ÁÖ¼¼¿ä.
HTTP ¿¡¼´Â, ÀÀ´äÀÇ º»Ã¼º¸´Ù Àü¿¡ Çì´õ¸¦ ¼Û½ÅÇØ µÑ Çʿ䰡 ÀÖ±â (À§ÇØ)¶§¹®¿¡, ¼ºê ·¿ ÄÁÅ×À̳ʴÂ, ÀÀ´äÀ» À§Å¹Çϱâ Àü¿¡ Çì´õ¸¦ ½á³¾ Çʿ䰡 ÀÖ½À´Ï´Ù.
°¡´ÉÇÑ °æ¿ì¿¡´Â,ServletResponse.setContentLength(int)
¸Þ¼Òµå·Î Content-Length Çì´õ¸¦ ¼³Á¤ÇØ, ÆÛÆ÷¸Õ½º Çâ»óÀ» À§Çؼ(¶§¹®¿¡), ¼ºê ·¿ ÄÁÅ×À̳ʰ¡ Áö¼ÓÀûÀÎ Á¢¼ÓÀ» »ç¿ëÇØ, ÀÀ´äÀ» Ŭ¶óÀÌ¾ðÆ®¿¡ µ¹·ÁÁÙ ¼ö°¡ ÀÖµµ·Ï(µíÀÌ) ÇÕ´Ï´Ù. ÀÀ´ä Àüü°¡ ÀÀ´ä ¹öÆÛ³»¿¡ µé¾î°¡´Â °æ¿ì´Â, ÄÁÅÙÃ÷ÀÇ ±æÀ̰¡ ÀÚµ¿ÀûÀ¸·Î ¼³Á¤µË´Ï´Ù.
Ãëµæ ¸Þ¼Òµå´Â ¾ÈÀüÇÏ´Ù¶ó°í ÇÏ´Â °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù. Áï, À¯Àú°¡ Ã¥ÀÓÀ» Á®¾ß ÇÒ ºÎÀÛ¿ëÀÌ ÀÖ¾î µÇÁö ¾Ê½À´Ï´Ù. ¿¹¸¦ µé¾î, ´ëºÎºÐÀÇ Æû Äí¿¡¸®-¿¡´Â ºÎÀÛ¿ëÀÌ ¾ø½À´Ï´Ù. ¹ú½á °Ý³³µÈ µ¥ÀÌÅ͸¦ Ŭ¶óÀ̾ðÆ®ÀÇ ¿ä±¸¿¡ ÀÇÇØ º¯°æÇÏ´Â °æ¿ì, ±× ¿ä±¸´Â ´Ù¸¥ HTTP ¸Þ¼Òµå¸¦ »ç¿ëÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
Ãëµæ ¸Þ¼Òµå³ª¹«µîÀûÀÎ °Í, Áï, ¾ÈÀü¿¡ ¹Ýº¹ÇÒ ¼ö°¡ ÀÖ´Â Àϵµ ÇÊ¿äÇÕ´Ï´Ù. ¸Þ¼Òµå¸¦ ¾ÈÀüÇÏ°Ô ÇÏ´Â °ÍÀ¸·Î½á, ±× ¸Þ¼Òµå³ª¹«µîÀûÀ¸·Î µÉ ¼öµµ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, Äí¿¡¸®-¸¦ ¹Ýº¹ÇÏ´Â °ÍÀº ¾ÈÀü³ª¹«µîÀûÀÔ´Ï´Ù¸¸, ¿Â¶óÀÎÀ¸·Î Á¦Ç°À» ±¸ÀÔÇϰųª µ¥ÀÌÅ͸¦ º¯°æÇϰųª ÇÏ´Â °ÍÀº, ¾ÈÀüÀ¸·Î ³ª¹«µîÀûÀÌÁöµµ ¾Ê½À´Ï´Ù.
¿ä±¸°¡ ¿Ã¹Ù¸¥ Æ÷¸ËÀÌ ¾Æ´Ñ °æ¿ì,doGet
´Â HTTP ÀÇ ¡¸Bad Request¡¹¸Þ¼¼Áö¸¦ µ¹·ÁÁÝ´Ï´Ù.
req
- Ŭ¶óÀÌ¾ðÆ®°¡ ¼ºê ·¿¿¡ ½Ç½ÃÇÏ´Â ¿ä±¸¸¦ Æ÷ÇÔÇÑ HttpServletRequest
¿ÀºêÁ§Æ®resp
- ¼ºê ·¿ÀÌ Å¬¶óÀÌ¾ðÆ®¿¡ ¼Û½ÅÇÏ´Â ÀÀ´äÀ» Æ÷ÇÔÇÑ HttpServletResponse
¿ÀºêÁ§Æ®java.io.IOException
- ¼ºê ·¿ÀÌ GET ¿ä±¸¸¦ ó¸®ÇÒ °æ¿ì¿¡, ÀÔÃâ·Â ¿¡·¯°¡ °ËÃâµÇ¾úÀ» °æ¿ìServletException
- GET ¿ä±¸¸¦ ó¸®ÇÒ ¼ö ¾ø¾ú´ø °æ¿ìServletResponse.setContentType(java.lang.String)
protected long getLastModified(HttpServletRequest req)
HttpServletRequest
¿ÀºêÁ§Æ®°¡ ¸¶Áö¸·¿¡ °»½ÅµÇ¾úÀ» ¶§ °¢À», GMT 1970 ³â 1 ¿ù 1 ÀÏ 0 ½ÃºÎÅÍÀÇ ¹Ð¸® ¼¼ÄÁµå¼ö·Î µ¹·ÁÁÝ´Ï´Ù. °»½ÅµÇ¾úÀ» ¶§ °¢ÀÌ ºÒ¸íÇÑ °æ¿ì ¹× ÀÌ ¸Þ¼Òµå¸¦ ¿À¹Ù¶óÀ̵å ÇÏÁö ¾Ê´Â °æ¿ì¿¡´Â, ÀÌ ¸Þ¼Òµå´Â À½¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù.
HTTP GET ¿ä±¸¸¦ ¼Æ÷Æ®ÇØ, ÃÖÁ¾ °»½Å ½Ã°¢À» °ð¹Ù·Î °áÁ¤ °¡´ÉÇÑ ¼ºê ·¿Àº, ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, ºê¶ó¿ìÀú¿Í ÇÁ·Ï½Ã´Â, ¼¹ö ¹× ³×Æ®¿öÅ© ¸®¼Ò½º»ó¿¡¼ÀÇ ºÎÇϸ¦ ÁÙ¿©, ij½¬ ÀÛ¾÷À» º¸´Ù È¿À²ÀûÀ¸·Î ½Ç½ÃÇÒ ¼ö°¡ ÀÖ°Ô µË´Ï´Ù.
req
- ¼ºê ·¿¿¡ ¼Û½ÅµÇ´Â HttpServletRequest
¿ÀºêÁ§Æ®HttpServletRequest
¿ÀºêÁ§Æ®°¡ ¸¶Áö¸·¿¡ °»½ÅµÇ¾úÀ» ¶§ °¢À», GMT 1970 ³â 1 ¿ù 1 ÀÏ 0 ½ÃºÎÅÍÀÇ ¹Ð¸® ¼¼ÄÁµå¼ö·Î ÁöÁ¤ÇÏ´Â long
Á¤¼ö. ½Ã°¢ÀÌ ºÒ¸íÇÑ °æ¿ì´Â -1protected void doHead(HttpServletRequest req, HttpServletResponse resp) throws ServletException , java.io.IOException
protected ¶ó°í Á¤ÀÇµÈ service
¸Þ¼Òµå·ÎºÎÅÍ HTTP HEAD ¿ä±¸¸¦ ¹Þ¾Æµé¿©, ±× ¿ä±¸¸¦ ó¸®ÇÕ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â, Content-Type À̳ª Content-Length µîÀÇ ÀÀ´äÀÇ Çì´õ¸¸À» Á¶»çÇÏ°í ½ÍÀº °æ¿ì¿¡, HEAD ¿ä±¸¸¦ ¼Û½ÅÇÕ´Ï´Ù. HTTP HEAD ¸Þ¼Òµå´Â, Content-Length Çì´õ¸¦ Á¤È®ÇÏ°Ô ¼³Á¤Çϱâ À§Çؼ, ÀÀ´ä³»ÀÇ Ãâ·Â ¾Æ¸£¹ÙÀÌÆ®¼ö¸¦ Ä«¿îÆ® ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â, ÆÛÆ÷¸Õ½º¸¦ Çâ»ó½Ã۱â À§Çؼ(¶§¹®¿¡), ÀÀ´ä º»Ã¼¿¡ ´ëÇÑ Ã³¸®¸¦ ½Ç½ÃÇÏÁö ¾Ê°í , ÀÀ´äÀÇ Çì´õ¸¦ Á÷Á¢ ¼³Á¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÛ¼ºÇÏ´Â doHead
¸Þ¼Òµå°¡, ¾ÈÀü³ª¹«µîÀûÀ̵µ·Ï ÇØ ÁÖ¼¼¿ä. Áï, 1 °³ÀÇ HTTP HEAD ¿ä±¸¿¡ ´ëÇØ¼, ÀÌ ¸Þ¼Òµå°¡ ¿©·¯ Â÷·Ê ºÒ¸®Áö ¾Ê°Ô ÇØ ÁÖ¼¼¿ä.
HTTP HEAD ¿ä±¸°¡ ¿Ã¹Ù¸¥ Æ÷¸ËÀÌ ¾Æ´Ñ °æ¿ì,doHead
´Â HTTP ÀÇ ¡¸Bad Request¡¹¸Þ¼¼Áö¸¦ µ¹·ÁÁÝ´Ï´Ù.
req
- ¼ºê ·¿¿¡°Ô °Ç³×Áö´Â ¿ä±¸ ¿ÀºêÁ§Æ®resp
- ¼ºê ·¿ÀÌ Çì´õ¸¦ Ŭ¶óÀÌ¾ðÆ®¿¡ µ¹·ÁÁÖ±â À§Çؼ(¶§¹®¿¡) »ç¿ëÇÏ´Â ÀÀ´ä ¿ÀºêÁ§Æ®java.io.IOException
- ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìServletException
- HEAD ¿ä±¸¸¦ ó¸®ÇÒ ¼ö ¾ø¾ú´ø °æ¿ìprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException , java.io.IOException
service
¸Þ¼Òµå °æÀ¯·Î ¼¹ö¿¡ ÀÇÇØ ºÒ·Á °©´Ï´Ù. HTTP POST ¸Þ¼Òµå¿¡ ÀÇÇØ, Ŭ¶óÀÌ¾ðÆ®´Â ±æÀ̰¡ ¹«Á¦ÇÑÀÇ µ¥ÀÌÅ͸¦ Web ¼¹ö¿¡ ÇÑ ¹ø¿¡ ¼Û½ÅÇÒ ¼ö ÀÖ°Ô µÇ¾î, Å©·¹µðÆ® Ä«µå ¹øÈ£µîÀÇ Á¤º¸ µî·Ï½Ã¿¡ µµ¿òÀÌ µË´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÒ ¶§´Â, ¿ä±¸ µ¥ÀÌÅ͸¦ Àо, ÀÀ´ä Çì´õ¸¦ ½á³», ÀÀ´äÀÇ ¶óÀÌÅÍ ¶Ç´Â Ãâ·Â ½Ã³Á¹° ¿ÀºêÁ§Æ®¸¦ ÃëµæÇØ, ¸¶Áö¸·¿¡ ÀÀ´ä µ¥ÀÌÅ͸¦ ½á³À´Ï´Ù. ±× ¶§, ÄÁÅÙÃ÷ Çü½Ä°ú ÀÎÄÚµùÀ» ÁöÁ¤ÇØ µÎ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÒ °ÍÀÔ´Ï´Ù. ÀÀ´äÀ» µ¹·ÁÁÖ±â À§Çؼ(¶§¹®¿¡) PrintWriter
¿ÀºêÁ§Æ®¸¦ »ç¿ëÇÏ´Â °æ¿ì´Â,PrintWriter
¿ÀºêÁ§Æ®¿¡ ¾×¼¼½º Çϱâ Àü¿¡, ÄÁÅÙÃ÷ Çü½ÄÀ» ¼³Á¤Çϵµ·Ï ÇØ ÁÖ¼¼¿ä.
HTTP ¿¡¼´Â, ÀÀ´äÀÇ º»Ã¼º¸´Ù Àü¿¡ Çì´õ¸¦ ¼Û½ÅÇØ µÑ Çʿ䰡 ÀÖ±â (À§ÇØ)¶§¹®¿¡, ¼ºê ·¿ ÄÁÅ×À̳ʴÂ, ÀÀ´äÀ» À§Å¹Çϱâ Àü¿¡ Çì´õ¸¦ ½á³¾ Çʿ䰡 ÀÖ½À´Ï´Ù.
°¡´ÉÇÑ °æ¿ì¿¡´Â,ServletResponse.setContentLength(int)
¸Þ¼Òµå·Î Content-Length Çì´õ¸¦ ¼³Á¤ÇØ, ÆÛÆ÷¸Õ½º Çâ»óÀ» À§Çؼ(¶§¹®¿¡), ¼ºê ·¿ ÄÁÅ×À̳ʰ¡ Áö¼ÓÀûÀÎ Á¢¼ÓÀ» »ç¿ëÇØ, ÀÀ´äÀ» Ŭ¶óÀÌ¾ðÆ®¿¡ µ¹·ÁÁÙ ¼ö°¡ ÀÖµµ·Ï(µíÀÌ) ÇÕ´Ï´Ù. ÀÀ´ä Àüü°¡ ÀÀ´ä ¹öÆÛ³»¿¡ µé¾î°¡´Â °æ¿ì´Â, ÄÁÅÙÃ÷ÀÇ ±æÀ̰¡ ÀÚµ¿ÀûÀ¸·Î ¼³Á¤µË´Ï´Ù.
HTTP 1.1 ÀÇ Ã¼Å© µÈ ÀÎÄÚµùÀ» »ç¿ëÇÏ´Â °æ¿ì, Áï ÀÀ´ä¿¡ Transfer-Encoding Çì´õ°¡ ÀÖ´Â °æ¿ì´Â, Content-Length Çì´õ¸¦ ¼³Á¤ÇÏÁö ¸»¾Æ ÁÖ¼¼¿ä.
ÀÌ ¸Þ¼Òµå´Â, ¾ÈÀü ¶Ç´Â ³ª¹«µîÀûÀÎ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. POST °æÀ¯·Î ¿ä±¸µÈ Á¶ÀÛ¿¡´Â, °Ý³³µÈ µ¥ÀÌÅÍÀÇ °»½ÅÀ̳ª ¾ÆÀÌÅÛÀÇ ¿Â¶óÀÎ ±¸ÀÔµîÀÌ °°Àº, À¯Àú°¡ Ã¥ÀÓÀ» Á®¾ß ÇÒ ºÎÀÛ¿ëÀÌ À־ »ó°üÇÏÁö ¾Ê½À´Ï´Ù.
HTTP POST ¿ä±¸ ¿Ã¹Ù¸¥ Æ÷¸ËÀÌ ¾Æ´Ñ °æ¿ì,doPost
´Â HTTP ÀÇ ¡¸Bad Request¡¹¸Þ¼¼Áö¸¦ µ¹·ÁÁÝ´Ï´Ù.
req
- Ŭ¶óÀÌ¾ðÆ®°¡ ¼ºê ·¿¿¡ ½Ç½ÃÇÏ´Â ¿ä±¸¸¦ Æ÷ÇÔÇÑ HttpServletRequest
¿ÀºêÁ§Æ®resp
- ¼ºê ·¿ÀÌ Å¬¶óÀÌ¾ðÆ®¿¡ ¼Û½ÅÇÏ´Â ÀÀ´äÀ» Æ÷ÇÔÇÑ HttpServletResponse
¿ÀºêÁ§Æ®java.io.IOException
- ¼ºê ·¿ÀÌ ¿ä±¸¸¦ ó¸®ÇÒ °æ¿ì¿¡, ÀÔÃâ·Â ¿¡·¯°¡ °ËÃâµÇ¾úÀ» °æ¿ìServletException
- POST ¿ä±¸¸¦ ó¸®ÇÒ ¼ö ¾ø¾ú´ø °æ¿ìServletOutputStream
,
ServletResponse.setContentType(java.lang.String)
protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException , java.io.IOException
service
¸Þ¼Òµå °æÀ¯·Î ºÒ·Á °©´Ï´Ù. PUT Á¶ÀÛ¿¡ ÀÇÇØ, Ŭ¶óÀÌ¾ðÆ®´Â ¼¹ö»ó¿¡ ÆÄÀÏÀ» ¹èÄ¡ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. À̰ÍÀº FTP ¿¡ ÀÇÇÑ ÆÄÀÏ ¼Û½Å°ú ´à¾Æ ÀÖ½À´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÒ ¶§´Â, ¿ä±¸·Î¼ ¼Û½ÅµÈ ÄÁÅÙÃ÷ÀÇ Çì´õ (Content-Length, Content-Type, Content-Transfer-Encoding, Content-Encoding, Content-Base, Content-Language, Content-Location, Content-MD5, ¹× Content-Range)¿¡ ´ëÇØ º¯°æÀ» ´õÇÏÁö ¸»¾Æ ÁÖ¼¼¿ä. ¿À¹ö¶óÀ̵å(override) ÇÑ ¸Þ¼Òµå°¡ ÄÁÅÙÃ÷ Çì´õ¸¦ ó¸®ÇÒ ¼ö ¾ø´Â °æ¿ì´Â, ¿¡·¯ ¸Þ¼¼Áö (HTTP 501 - Not Implemented)¸¦ ¹ßÇàÇØ, ¿ä±¸¸¦ Æó±âÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. HTTP 1.1 ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ °ÍÀº,RFC 2068 À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
ÀÌ ¸Þ¼Òµå´Â, ¾ÈÀü ¶Ç´Â ³ª¹«µîÀûÀÎ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. doPut
°¡ ½ÇÇàÇÏ´Â Á¶ÀÛ¿¡´Â, À¯Àú°¡ Ã¥ÀÓÀ» Á®¾ß ÇÒ ºÎÀÛ¿ëÀÌ À־ »ó°üÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇÏ·Á¸é , ¿µÇâÀ» ¹Þ´Â URL ÀÇ Ä«ÇǸ¦ ÀϽÃÀûÀÎ ±â¾ï area¿¡ º¸Á¸ÇØ µÎ¸é(ÀÚ), ±×°ÍÀÌ µµ¿òÀÌ µÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
HTTP PUT ¿ä±¸°¡ ¿Ã¹Ù¸¥ Æ÷¸ËÀÌ ¾Æ´Ñ °æ¿ì,doPut
´Â HTTP ÀÇ ¡¸Bad Request¡¹¸Þ¼¼Áö¸¦ µ¹·ÁÁÝ´Ï´Ù.
req
- Ŭ¶óÀÌ¾ðÆ®°¡ ¼ºê ·¿¿¡ ½Ç½ÃÇÏ´Â ¿ä±¸¸¦ Æ÷ÇÔÇÑ HttpServletRequest
¿ÀºêÁ§Æ®resp
- ¼ºê ·¿ÀÌ Å¬¶óÀÌ¾ðÆ®¿¡ µ¹·ÁÁÖ´Â ÀÀ´äÀ» Æ÷ÇÔÇÑ HttpServletResponse
¿ÀºêÁ§Æ®java.io.IOException
- ¼ºê ·¿ÀÌ PUT ¿ä±¸¸¦ ó¸®ÇÏ´Â µ¿¾È¿¡, ÀÔÃâ·Â ¿¡·¯°¡ °ËÃâµÇ¾úÀ» °æ¿ìServletException
- PUT ¿ä±¸¸¦ ó¸®ÇÒ ¼ö ¾ø´Â °æ¿ìprotected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException , java.io.IOException
service
¸Þ¼Òµå °æÀ¯·Î ºÒ·Á °©´Ï´Ù. DELETE Á¶ÀÛ¿¡ ÀÇÇØ, Ŭ¶óÀÌ¾ðÆ®´Â ¹®¼ ¶Ç´Â Web ÆäÀÌÁö¸¦ ¼¹ö·ÎºÎÅÍ »èÁ¦ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â, ¾ÈÀü ¶Ç´Â ³ª¹«µîÀûÀÎ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. DELETE ¸¦ ÅëÇØ¼ ¿ä±¸µÇ´Â Á¶ÀÛ¿¡´Â, À¯Àú°¡ Ã¥ÀÓÀ» Á®¾ß ÇÒ ºÎÀÛ¿ëÀÌ À־ »ó°üÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇÏ·Á¸é , ¿µÇâÀ» ¹Þ´Â URL ÀÇ Ä«ÇǸ¦ ÀϽÃÀûÀÎ ±â¾ï area¿¡ º¸Á¸ÇØ µÎ¸é(ÀÚ), ±×°ÍÀÌ µµ¿òÀÌ µÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
HTTP DELETE ¿ä±¸°¡ ¿Ã¹Ù¸¥ Æ÷¸ËÀÌ ¾Æ´Ñ °æ¿ì,doDelete
´Â HTTP ÀÇ ¡¸Bad Request¡¹¸Þ¼¼Áö¸¦ µ¹·ÁÁÝ´Ï´Ù.
req
- Ŭ¶óÀÌ¾ðÆ®°¡ ¼ºê ·¿¿¡ ½Ç½ÃÇÏ´Â ¿ä±¸¸¦ Æ÷ÇÔÇÑ HttpServletRequest
¿ÀºêÁ§Æ®resp
- ¼ºê ·¿ÀÌ Å¬¶óÀÌ¾ðÆ®¿¡ µ¹·ÁÁÖ´Â ÀÀ´äÀ» Æ÷ÇÔÇÑ HttpServletResponse
¿ÀºêÁ§Æ®java.io.IOException
- ¼ºê ·¿ÀÌ DELETE ¿ä±¸¸¦ ó¸®ÇÏ´Â µ¿¾È¿¡, ÀÔÃâ·Â ¿¡·¯°¡ °ËÃâµÇ¾úÀ» °æ¿ìServletException
- DELETE ¿ä±¸¸¦ ó¸®ÇÒ ¼ö ¾ø´Â °æ¿ìprotected void doOptions(HttpServletRequest req, HttpServletResponse resp) throws ServletException , java.io.IOException
service
¸Þ¼Òµå °æÀ¯·Î ºÒ·Á °©´Ï´Ù. OPTIONS ¿ä±¸´Â, ¼¹ö°¡ ¼Æ÷Æ®ÇÏ´Â HTTP ¸Þ¼Òµå¸¦ ÆÇ´ÜÇØ, ÀûÀýÇÑ Çì´õ¸¦ µ¹·ÁÁÝ´Ï´Ù. ¿¹¸¦ µé¾î, ¼ºê ·¿ÀÌ doGet
¸¦ ¿À¹ö¶óÀ̵å(override) Çϸé(ÀÚ), ÀÌ ¸Þ¼Òµå´Â ´ÙÀ½ÀÇ Çì´õ¸¦ µ¹·ÁÁÝ´Ï´Ù.
Allow: GET, HEAD, TRACE, OPTIONS
¼ºê ·¿ÀÌ, HTTP 1.1 À¸·Î Á¤Àǵǰí ÀÖ´Â ¸Þ¼Òµå ÀÌ¿ÜÀÇ »õ·Î¿î HTTP ¸Þ¼Òµå¸¦ ½ÇÀåÇϰí ÀÖÁö ¾Ê´Â ÇÑ, ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù.
req
- Ŭ¶óÀÌ¾ðÆ®°¡ ¼ºê ·¿¿¡ ½Ç½ÃÇÏ´Â ¿ä±¸¸¦ Æ÷ÇÔÇÑ HttpServletRequest
¿ÀºêÁ§Æ®resp
- ¼ºê ·¿ÀÌ Å¬¶óÀÌ¾ðÆ®¿¡ µ¹·ÁÁÖ´Â ÀÀ´äÀ» Æ÷ÇÔÇÑ HttpServletResponse
¿ÀºêÁ§Æ®java.io.IOException
- ¼ºê ·¿ÀÌ OPTIONS ¿ä±¸¸¦ ó¸®ÇÏ´Â µ¿¾È¿¡, ÀÔÃâ·Â ¿¡·¯°¡ °ËÃâµÇ¾úÀ» °æ¿ìServletException
- OPTIONS ¿ä±¸¸¦ ó¸®ÇÒ ¼ö ¾ø´Â °æ¿ìprotected void doTrace(HttpServletRequest req, HttpServletResponse resp) throws ServletException , java.io.IOException
service
°æÀ¯·Î ºÒ·Á °©´Ï´Ù. TRACE ¸¦ »ç¿ëÇϸé(ÀÚ), TRACE ¿ä±¸·Î¼ ¼Û½ÅÇÑ Çì´õ¸¦ Ŭ¶óÀÌ¾ðÆ®¿¡ µ¹·ÁÁÖ´Â °Í¿¡ ÀÇÇØ, ±×·¯ÇÑ Çì´õ¸¦ µð¹ö±× ¸ñÀûÀ¸·Î »ç¿ëÇÏ´Â °ÍÀÌ °¡´ÉÇÏ°Ô µË´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. req
- Ŭ¶óÀÌ¾ðÆ®°¡ ¼ºê ·¿¿¡ ½Ç½ÃÇÏ´Â ¿ä±¸¸¦ Æ÷ÇÔÇÑ HttpServletRequest
¿ÀºêÁ§Æ®resp
- ¼ºê ·¿ÀÌ Å¬¶óÀÌ¾ðÆ®¿¡ µ¹·ÁÁÖ´Â ÀÀ´äÀ» Æ÷ÇÔÇÑ HttpServletResponse
¿ÀºêÁ§Æ®java.io.IOException
- ¼ºê ·¿ÀÌ TRACE ¿ä±¸¸¦ ó¸®ÇÏ´Â µ¿¾È¿¡, ÀÔÃâ·Â ¿¡·¯°¡ °ËÃâµÇ¾úÀ» °æ¿ìServletException
- TRACE ¿ä±¸¸¦ ó¸®ÇÒ ¼ö ¾ø´Â °æ¿ìprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException , java.io.IOException
service
¸Þ¼Òµå·ÎºÎÅÍ Ç¥ÁØÀÇ HTTP ¿ä±¸¸¦ ¹Þ¾Æµé¿©, ÀÌ Å¬·¡½º³»¿¡¼ Á¤ÀÇµÈ do
XXX ¸Þ¼Òµå¿¡ ¹èºÐÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â,Servlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
¸Þ¼ÒµåÀÇ HTTP °íÀ¯ÀÇ ¹öÁ¯ÀÔ´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. req
- Ŭ¶óÀÌ¾ðÆ®°¡ ¼ºê ·¿¿¡ ½Ç½ÃÇÏ´Â ¿ä±¸¸¦ Æ÷ÇÔÇÑ HttpServletRequest
¿ÀºêÁ§Æ®resp
- ¼ºê ·¿ÀÌ Å¬¶óÀÌ¾ðÆ®¿¡ µ¹·ÁÁÖ´Â ÀÀ´äÀ» Æ÷ÇÔÇÑ HttpServletResponse
¿ÀºêÁ§Æ®java.io.IOException
- ¼ºê ·¿ÀÌ HTTP ¿ä±¸¸¦ ó¸®ÇÏ´Â µ¿¾È¿¡, ÀÔÃâ·Â ¿¡·¯°¡ °ËÃâµÇ¾úÀ» °æ¿ìServletException
- HTTP ÀÇ ¿ä±¸¸¦ ó¸®ÇÒ ¼ö ¾ø´Â °æ¿ìServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
public void service(ServletRequest req, ServletResponse res) throws ServletException , java.io.IOException
service
¸Þ¼Òµå¿¡ ¹èºÐÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. GenericServlet
³»ÀÇ service
req
- Ŭ¶óÀÌ¾ðÆ®°¡ ¼ºê ·¿¿¡ ½Ç½ÃÇÏ´Â ¿ä±¸¸¦ Æ÷ÇÔÇÑ HttpServletRequest
¿ÀºêÁ§Æ®res
- ¼ºê ·¿ÀÌ Å¬¶óÀÌ¾ðÆ®¿¡ µ¹·ÁÁÖ´Â ÀÀ´äÀ» Æ÷ÇÔÇÑ HttpServletResponse
¿ÀºêÁ§Æ®java.io.IOException
- ¼ºê ·¿ÀÌ HTTP ¿ä±¸¸¦ ó¸®ÇÏ´Â µ¿¾È¿¡, ÀÔÃâ·Â ¿¡·¯°¡ °ËÃâµÇ¾úÀ» °æ¿ìServletException
- HTTP ÀÇ ¿ä±¸¸¦ ó¸®ÇÒ ¼ö ¾ø´Â °æ¿ìServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
|
|||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||
°³¿ä: ³»ºÎ Ŭ·¡½º | Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå |