¼Ò¼³°°ÀºJSP1ºÎ  5Àå Core of JSP  07 ³»À尴ü pageContext - forward, include  

 

07 ³»À尴ü pageContext- forward, include

 

pageContextÀÇ forward´Â ÇöÀçÀÇ ÆäÀÌÁö¿¡¼­ÀÇ ¿äû°ú ÀÀ´äÀ» ó¸®ÇÒ Á¦¾î±ÇÀ» ÇØ´ç URL·Î ¿ÏÀüÈ÷ ³Ñ±â´Âµ¥ »ç¿ëµË´Ï´Ù. ±× °á°ú forward¸¦ È£ÃâÇÑ ¿ø·¡ÀÇ ÆäÀÌÁöÀÇ ¿äû°ú ÀÀ´äÀº ÀüºÎ ¹«½ÃµÇ°í forwardingµÈ ÆäÀÌÁöÀÇ ¿äû°ú ÀÀ´äÀ» ó¸®ÇÏ°Ô µË´Ï´Ù.

 

n         pageContext.forward(¡°ÇØ´çURL¡±);

 

Áï, forwarding¿äûÀÌ ÀϾ¸é, out.clear¸¦ È£ÃâÇÏ¿© ÇöÀçÆäÀÌÁöÀÇ ¹öÆÛ¿¡ µé¾îÀÖ´Â ³»¿ëÀ» ¸ðµÎ Áö¿ö¹ö¸° ÈÄ, forwardingµÈ ÆäÀÌÁö·Î ¿äûÀÌ ³Ñ¾î°£´Ù´Â °ÍÀÔ´Ï´Ù. ±×¸®°í forwardingµÈ ÆäÀÌÁö¿¡¼­´Â Ãâ·Â¹öÆÛÀÇ ³»¿ëÀ» »õ·Î ´ã¾Æ¼­ ÀÀ´äÀ» ´Ù½Ã ¸¸µé¾î Ãâ·ÂÇÏ°Ô µÇ´Â °ÍÀÔ´Ï´Ù. ¿¹Á¦¿Í °ü·ÃÇÏ¿© À̰ÍÀ» ±×¸²À¸·Î ³ªÅ¸³»¸é ´ÙÀ½°ú °°½À´Ï´Ù.

 

 

¹Ý¸é include´Â ÇöÀçÀÇ ÆäÀÌÁö¿¡¼­ÀÇ ¿äû°ú ÀÀ´äÀ» ó¸®ÇÒ Á¦¾î±ÇÀ» ÇØ´ç URL·Î Àá½Ã ³Ñ°å´Ù°¡ 󸮰¡ ³¡³ª¸é ´Ù½Ã Á¦¾î±ÇÀ» µ¹·Á¹Þ½À´Ï´Ù. µû¶ó¼­ include¸¦ È£ÃâÇϸé ÇØ´ç URL·Î ¿äû°ú ÀÀ´ä Á¦¾î±ÇÀ» ³Ñ°Ü¼­ 󸮽Ã۰í, 󸮰¡ ³¡³ª¸é ±× °á°ú¿Í ÇÔ²² ´Ù½Ã ¿ø·¡ÀÇ ÆäÀÌÁö·Î 󸮰á°ú¿Í Á¦¾î±ÇÀ» µ¹·ÁÁ־ ±× ÆäÀÌÁöÀÇ Ã³¸®¸¦ ¸¶¹«¸®Çϵµ·Ï ÇØÁÝ´Ï´Ù. ƯÁ¤ÆäÀÌÁö¸¦ includeÇÏ´Â ±¸¹®Àº ´ÙÀ½°ú °°½À´Ï´Ù.

 

n         pageContext.include(¡°ÇØ´çURL¡±);

 

include¿äûÀÌ ÀϾ¸é, ±× ÆäÀÌÁö¿¡¼­´Â ¿äû½Ã±îÁö ÇØ¿À´ø ÀÛ¾÷µéÀÌ µé¾îÀÖ´ø ¹öÆÛ´Â flushingµÇ¾î ¿äûÀÌ Àü´ÞµÇ´Â ÆäÀÌÁö·Î ³Ñ¾î°¡°Ô µÇ¸ç, ÇØ´ç ÆäÀÌÁö¿¡¼­ Àӽ÷ΠÁ¦¾î±ÇÀ» °¡Áö°í ÀÛ¾÷À» ÇÏ´Ù°¡ ÀÛ¾÷ÀÌ ³¡³ª¸é, Á¦¾î±Ç°ú ÀÛ¾÷°á°ú¸¦ ´Ù½Ã ¿ø·¡ÀÇ ÆäÀÌÁö·Î ¸ðµÎ µ¹·ÁÁÖ´Â °ÍÀÔ´Ï´Ù. À̰ÍÀº ¾Æ·¡ÀÇ ±×¸²°ú °°ÀÌ ³ªÅ¸³¾ ¼ö ÀÖ½À´Ï´Ù.

 

 

 ´ÙÀ½Àº À§ÀÇ ±×¸²¿¡¼­ º¸¼Ì´ø ¿ø¸®¸¦ ½ÇÁ¦·Î forward¿Í include¸¦ ÀÌ¿ëÇÏ¿© ±¸ÇöÇÑ ¿¹Á¦ÀÔ´Ï´Ù. ÆäÀÌÁöÀÇ ¿äûÀÌ ¾î¶»°Ô ³Ñ°ÜÁö´Â°¡ ÁÖÀÇÇØ¼­ »ìÆìº¸½Ã±â ¹Ù¶ø´Ï´Ù.

 

inForTest.jsp

inForTest.jsp·Î »ðÀ﵃ ¿¹Á¦

<%@ page contentType="text/html; charset=euc-kr" %>

<html><body>

¾È³çÇϼ¼¿ä.

<%

             if(request.getParameter("id").equals("jForward")){

                           pageContext.forward("forward.jsp");

             }else if(request.getParameter("id").equals("jInclude")){                            

                           pageContext.include("include.jsp");

             }else{

%>

             <%=request.getParameter("id") %>´Ô,<br>

             forward¿Í include¸¦ Å×½ºÆ®ÇÏ´Â ÆäÀÌÁöÀÔ´Ï´Ù. <br>

             getParameterÀÇ id¸¦ ¼³Á¤ÇØÁÖ¼¼¿ä. <br>

             forward¸¦ Å×½ºÆ®ÇÏ·Á¸é jForward¸¦,<br>

             include¸¦ Å×½ºÆ®ÇÏ·Á¸é jInclude¸¦ ÀÔ·ÂÇϼ¼¿ä.

<% } %>

</body></html>

forward.jsp

Á¶°Ç¿¡ µû¶ó forward°¡ ½ÇÇàµÇ´Â ¿¹Á¦

<%@ page contentType="text/html; charset=euc-kr" %>

<html><body>

¹Ý°©½À´Ï´Ù. <%=request.getParameter("id") %>´Ô,<br>

forward°¡ ½ÇÇàµÇ¾ú½À´Ï´Ù.

</body></html>

include.jsp

include.jsp¸¦ inForTest.jsp¿¡ includeÇÑ ¿¹Á¦

<%@ page contentType="text/html; charset=euc-kr" %>

<h3><%=request.getParameter("id") %>´Ô,<br>

include°¡ ½ÇÇàµÇ¾ú½À´Ï´Ù.</h3>

 

 

 

À§ÀÇ ¿¹Á¦´Â 3°³ÀÇ JSPÆäÀÌÁö·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù. inForTest.jsp¿¡´Â Á¶°Ç¿¡ µû¶ó forward.jsp·Î forwarding½ÃÄÑÁÖ´Â forward() ¸Þ¼­µå¿Í include.jsp¸¦ includeing½ÃÄÑÁÖ´Â include() ¸Þ¼­µå°¡ ±¸ÇöµÇ¾î ÀÖ½À´Ï´Ù.

 

 ¸ÕÀú inForTest.jsp¸¦ »ìÆìº¸°Ú½À´Ï´Ù. getParameter·Î Àü´ÞµÈ id°ªÀÌ jForward¶ó¸é forward.jspÆäÀÌÁö°¡ ½ÇÇàµË´Ï´Ù. ±×·±µ¥ forward°¡ ½ÇÇàµÇ±â Àü¿¡ º¸¿©ÁÙ ¡®¾È³çÇϼ¼¿ä.¡¯¶ó´Â ¹®ÀåÀÌ º¸ÀÌÁö ¾Ê½À´Ï´Ù. ±× ÀÌÀ¯´Â forward()°¡ È£ÃâµÇ¸é ÀÚµ¿À¸·Î Áö±Ý±îÁö ¹öÆÛ¿¡ ÀúÀåµÈ ³»¿ëÀ» Áö¿öÁÖ´Â out.clear°¡ ½ÇÇàµÇ±â ¶§¹®ÀÌÁÒ. À§¿¡¼­ µÎ¹øÂ° À̹ÌÁö°¡ ÀÌ¿¡ ÇØ´çµË´Ï´Ù.

 

n        if(request.getParameter("id").equals("jForward")){

n                     pageContext.forward("forward.jsp");//ÇöÀçÀÇ ÆäÀÌÁö´Â clearµÇ°í¼­ forwardµÊ

 

getParameter·Î Àü´ÞµÈ id°ªÀÌ jInclude¶ó¸é include.jsp°¡ inForTest.jsp¿¡ includeµË´Ï´Ù.

 

n        else if(request.getParameter("id").equals("jInclude")){                                   

n                     pageContext.include("include.jsp");

 

include.jsp´Â inForTest.jsp¿¡ »ðÀÔÀº µÇÁö¸¸ inForTest.jsp¿¡ ÀÇÇØ Á¦¾îµÇÁö ¾Ê½À´Ï´Ù. µû¶ó¼­ HTTPÀü¼Û¾ç½ÄÀ» »õ·Î ¼³Á¤ÇØÁÖ¾ß ÇÕ´Ï´Ù.

 

n        <%@ page contentType="text/html; charset=euc-kr" %>

n        <h3>insert°¡ ½ÇÇàµÇ¾ú½À´Ï´Ù.</h3>

 

include.jspÀÇ Ã³¸®°¡ ³¡³ª¸é ±× °á°ú¿Í ÇÔ²² Á¦¾î±ÇÀ» ´Ù½Ã inForTest.jsp·Î µ¹·ÁÁְԵǰí include.jsp´Â ³ª¸ÓÁö ¹®ÀåÀ» ½ÇÇàÇϰí ÀÖ½À´Ï´Ù. ¼¼¹øÂ° À̹ÌÁö¿¡¼­ Boldü·Î ³ªÅ¸³­ ºÎºÐÀÌ includeµÈ ºÎºÐÀÔ´Ï´Ù.

 

ÀÔ·ÂµÈ id°¡ À§ÀÇ µÎ °¡ÁöÀÇ °æ¿ì¿¡¼­ ¹þ¾î³ª¸é else¹®ÀÌ ½ÇÇàµÇ¹Ç·Î ù¹øÂ° À̹ÌÁö°¡ Ãâ·ÂµÇ°Ô µË´Ï´Ù.

 

n        <%=request.getParameter("id") %>´Ô,<br>

n        forward¿Í include¸¦ Å×½ºÆ®ÇÏ´Â ÆäÀÌÁöÀÔ´Ï´Ù. <br>

n        getParameterÀÇ id¸¦ ¼³Á¤ÇØÁÖ¼¼¿ä. <br>

n        forward¸¦ Å×½ºÆ®ÇÏ·Á¸é jForward¸¦,<br>

n        include¸¦ Å×½ºÆ®ÇÏ·Á¸é jInclude¸¦ ÀÔ·ÂÇϼ¼¿ä. ±×·³, ÁñJSPÇϼ¼¿ä!!!

 

PageContextÀÇ ¸â¹öÇʵå

 

public static java.lang.String APPLICATION :  PageContext À̸§ Å×ÀÌºí¿¡ ServletContextÀ» ÀúÀåÇϱâ À§ÇØ »ç¿ëµÈ À̸§

public static int APPLICATION_SCOPE  : ÀÀ¿ë ¹üÀ§ - À̸§Áö¾îÁø ÂüÁ¶´Â ±×°ÍÀÌ È¸¼öµÉ ¶§±îÁö ServletContext¿¡ »ç¿ë°¡´ÉÇÑ Ã¤·Î ³²¾ÆÀÖ½À´Ï´Ù.

public static java.lang.String CONFIG  : PageContext À̸§ Å×ÀÌºí¿¡ ServletConfigÀ» ÀúÀåÇϱâ À§ÇØ »ç¿ëµÈ À̸§

public static java.lang.String EXCEPTION : À̸§Àº ServletRequest ¼Ó¼º ¸®½ºÆ®¿Í PageContext À̸§ Å×ÀÌºí¿¡ uncaughtÇÑ ¿¹¿Ü¸¦ ÀúÀåÇϱâ À§ÇØ ÀÌ¿ëÇß½À´Ï´Ù.

public static java.lang.String OUT : À̸§Àº PageContext À̸§ Å×ÀÌºí¿¡ ÇöÀçÀÇ JspWriter¸¦ ÀúÀåÇϰï Çß½À´Ï´Ù.

public static java.lang.String PAGE : À̸§Àº ÀÌ PageContext nametables¿¡ ServletÀ» ÀúÀåÇϰï Çß½À´Ï´Ù.

public static int PAGE_SCOPE : ÆäÀÌÁö ¹üÀ§ - (this is the default) ±× Áö¸íµÈ ÂüÁ¶´Â ÇöÀçÀÇ Servlet.service ±â¿øÀ¸·ÎºÎÅÍ ±Íȯ±îÁö ÀÌ PageContext¿¡ »ç¿ë°¡´ÉÇÑ Ã¤·Î ³²¾ÆÀÖ½À´Ï´Ù.

public static java.lang.String PAGECONTEXT : ÀÌ PageContextÀÌ ±×°Í¿¡ ÀúÀåµÇ°ï ÇÑ À̸§Àº ÀÚ½ÅÀÇ À̸§ Å×À̺íÀÔ´Ï´Ù.

public static java.lang.String REQUEST : PageContext À̸§ Å×ÀÌºí¿¡ ServletRequestÀ» ÀúÀåÇϱâ À§ÇØ »ç¿ëµÈ À̸§

public static int REQUEST_SCOPE : ¿ä±¸ ¹üÀ§- ±× Áö¸íµÈ ÂüÁ¶´Â ±× ÇöÀçÀÇ ¿ä±¸°¡ ¿Ï·áµÉ ¶§±îÁö ServletÀÌ ¿¬»óµÈ ServletRequest¿¡¼­ »ç¿ë°¡´ÉÇÑ Ã¤·Î ³²¾ÆÀÖ½À´Ï´Ù.

public static java.lang.String RESPONSE : PageContext À̸§ Å×ÀÌºí¿¡ ServletResponse¸¦ ÀúÀåÇϱâ À§ÇØ »ç¿ëµÈ À̸§

public static java.lang.String SESSION : PageContext À̸§ Å×ÀÌºí¿¡ HttpSessionÀ» ÀúÀåÇϱâ À§ÇØ »ç¿ëµÈ À̸§

public static int SESSION_SCOPE : ¼¼¼Ç ¹üÀ§ (only valid if this page participates in a session) - ±× Áö¸íµÈ ÂüÁ¶´Â ServletÀÌ ¿¬»óµÈ HttpSession ¿¡¼­ HttpSessionÀÌ ¹«È¿·Î µÉ ¶§±îÁö »ç¿ë°¡´ÉÇÑ Ã¤·Î ³²¾ÆÀÖ½À´Ï´Ù.

 

PageContextÀÇ ¸â¹öÇʵå

 

public abstract  java.lang.Object findAttribute(java.lang.String name) : ÁÖ¾îÁø À̸§ÀÇ ¼Ó¼ºÀ» page, request, session, application Áß¿¡¼­ ã¾Æ ¹Ýȯ

public abstract  void forward(java.lang.String relativeUrlPath) : ÇöÀçÀÇ ServletRequest¿Í ServletResponse¸¦ ¶Ç ´Ù¸£°Ô Ȱµ¿ ÁßÀÎ application¿¡°Ô ³Ñ°ÜÁÜ

public abstract  java.lang.Object getAttribute(java.lang.String name) : page ¿µ¿ª¾È¿¡¼­ ÁÖ¾îÁø À̸§°ú ¿¬°üÀÖ´Â °´Ã¼¸¦ ¹Ýȯ

public abstract  java.lang.Object getAttribute(java.lang.String name, int scope) : ÁöÁ¤µÈ ¿µ¿ª¾È¿¡¼­ ÁÖ¾îÁø À̸§°ú ¿¬°üÀÖ´Â °´Ã¼¸¦ ¹Ýȯ

public abstract  java.util.Enumeration getAttributeNamesInScope(int scope) : ÁÖ¾îÁø¿µ¿ª¿¡¼­ ¸ðµç ¼Ó¼ºµéÀ» ¿­°Å

public abstract  int getAttributesScope(java.lang.String name) : ÁÖ¾îÁø À̸§À¸·Î Á¤ÀÇµÈ ¿µ¿ªÀ» ¾ò¾î¿Â´Ù.

public abstract  java.lang.Exception getException() : exception °´Ã¼¸¦ ¾ò¾î¿Â´Ù.

public abstract  JspWriter getOut() : out °´Ã¼¸¦ ¾ò¾î¿Â´Ù.

public abstract  java.lang.Object getPage() : page °´Ã¼¸¦ ¾ò¾î¿Â´Ù.

public abstract  javax.servlet.ServletRequest getRequest() : request °´Ã¼¸¦ ¾ò¾î¿Â´Ù.

public abstract  javax.servlet.ServletResponse getResponse() : response°´Ã¼¸¦ ¾ò¾î¿Â´Ù.

public abstract  javax.servlet.ServletConfig getServletConfig() : config °´Ã¼¸¦ ¾ò¾î¿Â´Ù.

public abstract  javax.servlet.ServletContext getServletContext() : application °´Ã¼¸¦ ¾ò¾î¿Â´Ù.

public abstract  javax.servlet.http.HttpSession getSession() : session °´Ã¼¸¦ ¾ò¾î¿Â´Ù. 

 



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