RequestDespatcher´Â Ŭ¶óÀÌ¾ðÆ®·ÎºÎÅÍ ¿äû ¹ÞÀº Á¤º¸¸¦ ¼¹öÀÇ Html, JSP ¶Ç´Â ServletµîÀÇ ÀÚ¿ø¿¡ º¸³»´Â ¿ªÇÒÀ» ÇÏ´Â ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù. ³»¿ëÀ» »ìÆìº¸¸é ¿äû ¹ÞÀº ³»¿ëÀ» ¼ºí¸´¿¡¼ ´Ù¸¥ ¼ºí¸´, JSP ¶Ç´Â HtmlÆÄÀÏ µîÀ¸·Î º¸³»ÁÖ´Â forward ¸Þ¼µå¿Í ´Ù¸¥ ÆäÀÌÁöÀÇ ³»¿ëÀ» ¼ºí¸´¿¡ Æ÷ÇÔ½ÃÄÑ ÀÀ´äÇÏ´Â include ¸Þ¼µå·Î ±¸¼ºµË´Ï´Ù.
ResquestDespatcherÀÎÅÍÆäÀ̽ºÀÇ ±¸¼º
n public void forward(ServletRequest request, ServletResponse response)
n public void include(ServletRequest request, ServletResponse response)
ÀÌ Àý¿¡¼´Â forward¿¡ ´ëÇØ¼ ¾Ë¾Æº¸°í ´ÙÀ½Àý¿¡¼ include¿¡ ´ëÇØ¼ ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù. ¿ì¼± forward´Â Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¿¡ ÇØ´çµÇ´Â request¿Í response¸¦ ´Ù¸¥ servlet¿¡ ³Ñ°Ü ÁÖ¸é¼ ÀÛ¾÷À» ¸ðµÎ ¸Ã±â´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ´Ù¸¥ ÆäÀÌÁö·Î forwardingµÇ¸é Á¦¾î±Ç±îÁö forwardingµÇ°Ô µË´Ï´Ù. ¿©±â¼ ÇѰ¡Áö ÁÖÀÇÇÏ½Ç °ÍÀº forwarding½Ãų¶§ request¿Í response ÀÌÀüÀÇ ¼ºí¸´¿¡¼ ³Ñ°Ü ¹Þ´Â °ÍÀ» ÁÖÀÇÇϽñ⠹ٶø´Ï´Ù. ÀÌ¿Í °°Àº ¿ø¸®¸¦ ±×¸²À¸·Î ³ªÅ¸³»¸é ¾Æ·¡¿Í °°½À´Ï´Ù.

´ÙÀ½ÀÇ ¿¹Á¦´Â RequestDespatcherÀÇ forward ¸Þ¼µå¸¦ »ç¿ëÇÏ¿© Ŭ¶óÀÌ¾ðÆ®·ÎºÎÅÍ ¹ÞÀº Á¤º¸¸¦ ´Ù¸¥ ¼ºí¸´À¸·Î º¸³»¼ Ãâ·ÂÇÏ°Ô ¸¸µå´Â ¿¹Á¦ ÀÔ´Ï´Ù.
|
DespatcherForward.java |
´Ù¸¥ ¼ºí¸´À¸·Î ¿äûÁ¤º¸¸¦ º¸³»´Â ¼ºí¸´ |
|
| |
|
DespatcherReceive.java |
¿äûÁ¤º¸¸¦ ó¸®ÇÏ´Â ¼ºí¸´ |
|
| |
|
| |
¸ÕÀú forward¸¦ »ç¿ëÇϱâ À§Çؼ´Â ServletContext¸¦ ¾ò¾î ³»¾î¾ß ÇÕ´Ï´Ù. ÀÌ ServletContext´Â ¼ºí¸´ ³»¿¡¼ getServletContext()¸Þ¼µå¸¦ ÀÌ¿ëÇÏ¿© ¾ò¾î ³¾ ¼ö ÀÖÀ¸¸ç ServletContext¸¦ ¾ò¾ú´Ù¸é »ý¼ºµÈ ServletContext °´Ã¼¸¦ ÀÌ¿ëÇÏ¿© RequestDispatcher¸¦ »ý¼ºÇÕ´Ï´Ù. ÀÌ ¶§ forwardÇÒ ¼ºí¸´ÀÇ ÁÖ¼Ò¸¦ ÀÔ·ÂÇϸé RequestDispatcher¸¦ »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
DespatcherForward.javaÀÇ ³»¿ëÀ» º¸½Ã¸é ´ÜÁö doGet ¸Þ¼µå¸¦ »ç¿ëÇÏ¿© Ŭ¶óÀ̾ðÆ®ÀÇ Á¤º¸¸¦ ¹ÞÀº ÈÄ RequestDespatcherÀÇ forward ¸Þ¼µå¸¦ »ç¿ëÇØ¼ DespatcherResponse ¼ºí¸´À¸·Î »ç¿ëÀÚ ¿äûÀ» º¸³»°í(forwarding)Çϰí Àִ°ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. ´«¿©°Ü º¼ °ÍÀÌ RequestDespatcherÀÇ °´Ã¼¸¦ »ý¼ºÇϱâ À§ÇÏ¿© ServletContextÀÇ getRequestDispatcher ¸Þ¼µå¸¦ »ç¿ëÇß´Ù´Â °ÍÀÔ´Ï´Ù.
n ServletContext sc = getServletContext();
n RequestDispatcher rd = sc.getRequestDispatcher ("/servlet/chap4.DespatcherReceive");
n rd.forward(request, response);
DespatcherResponse.java¿¡¼´Â ³Ñ±ä »ç¿ëÀÚ ¿äû Á¤º¸¸¦ ¹Þ¾Æ¼ htmlÇü½ÄÀ» ¸¸µé¾î¼ ȸ鿡 Ãâ·ÂÇØ ÁÖ°í ÀÖ½À´Ï´Ù.
n String message = request.getParameter("command");
n out.println("<H1>"+ message + "</H1>");
°á°ú¸¦ º¸½Ã¸é À¥ºê¶ó¿ìÀú¿¡¼ ¸Þ¼¼Áö¸¦ ÀÔ·ÂÇÏ¿© DespatcherRequest¼ºí¸´À» È£ÃâÇÏ¸é ±× Á¤º¸°¡ forwardingµÇ´Â DespatcherResponse¼ºí¸´À¸·Î ³Ñ°ÜÁ®¼ Ãâ·ÂµÊÀ» ¾Ë ¼ö ÀÖÀ¸½Ç °ÍÀÔ´Ï´Ù.
¿©±â¼ ÇѰ¡Áö Èï¹Ì·Î¿î Á¡Àº À¥ºê¶ó¿ìÀúÀÇ ÁÖ¼ÒÁÙÀ» º¸½Ã¸é ¾Ë ¼ö ÀÖµíÀÌ ´Ù¸¥ ¼ºí¸´À¸·Î »ç¿ëÀÚ Á¤º¸¸¦ ³Ñ°Ü¼, Á¤º¸¸¦ ¹ÞÀº ÆäÀÌÁö¿¡¼ ¿äûÀ» ó¸®ÇÏ¿© Ãâ·Â±îÁö ÇØÁÖÁö¸¸, À¥ºê¶ó¿ìÀúÀÇ ÁÖ¼ÒÁÙÀº ¿ø·¡ È£ÃâÇÑ ±× ÁÖ¼Ò°¡ ¹Ù²îÁö ¾Ê´Â´Ù´Â °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ¿ø¸®¸¦ ÀÌ¿ëÇϸé, »ç¿ëÀÚÀÇ ¿äûÁ¤º¸¸¦ ºÐ¼®ÇÏ¿© ±×¿¡ ¸Â´Â °¢°¢ÀÇ ÆäÀÌÁö·Î º¸³»¼ ¿äûÀ» ó¸®Çصµ ¸¶Ä¡ ÇϳªÀÇ ÆäÀÌÁö¿¡¼ 󸮵ǴµíÇÑ È¿°ú¸¦ ¾òÀ¸½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
| jabookÀúÀÚ¸íÇÔ |
|
Á¦¸ñ:¼Ò¼³°°ÀºJSP1ºÎ ÀúÀÚ:ÃÖ¿µ°ü |