excetion °´Ã¼´Â java.lang.Throwable Ŭ·¡½º ÇüÀÇ JSP³»À尴ü ÀÔ´Ï´Ù. ÀÌ °´Ã¼´Â À̸§¿¡¼ ¾Ë ¼ö ÀÖµíÀÌ ¿¡·¯ 󸮿¡ °üÇÑ °´Ã¼ÀÔ´Ï´Ù. Áï, ÇØ´ç ÆäÀÌÁö ½ÇÇà ½Ã ¼ºí¸´ÀÌ Ã³¸®ÇÏÁö ¸øÇÑ ¿¡·¯°¡ ¹ß»ýÇÒ ¶§, ¿¹¿Ü¸¦ ó¸®ÇÒ ÆäÀÌÁö¸¦ ÁöÁ¤ÇÏ¿´À» °æ¿ì, ÁöÁ¤µÈ ÆäÀÌÁö·Î ¿¹¿Ü¸¦ Àü´ÞÇÏ´Â ¿ªÇÒÀ» ÇÏ´Â °´Ã¼ÀÔ´Ï´Ù. ÇÏÁö¸¸ ÀÌ·± °æ¿ì ¸ÕÀú ¿¹¿Ü°¡ Àü´ÞµÉ ÆäÀÌÁöÀÇ isErrorPage¶ó´Â ¼Ó¼ºÀ» ¡®true¡¯·Î Á¤ÀÇ ÇØ¾ß¸¸ »ç¿ë °¡´ÉÇÕ´Ï´Ù. ¸¸¾à ÀÌ ¼Ó¼ºÀÌ Á¤ÀÇ µÇ¾î ÀÖÁö ¾ÊÀ¸¸é exception °´Ã¼ÀÇ »ç¿ëÀº ºÒ°¡´ÉÇÕ´Ï´Ù. isErrorPageÀÇ ±âº»°ªÀº falseÀ̱⶧¹®¿¡ ´ÙÀ½°ú °°Àº Áö½Ã¹®À¸·Î isErrorPage ¼Ó¼ºÀ» true·Î ¸¸µå¼Å¾ß ÇÕ´Ï´Ù.
n <%@ page isErrorPage=¡°true¡±>
±×¸®°í ÇöÀç ÆäÀÌÁö¿¡¼ ¿¡·¯°¡ ¹ß»ýÇÒ °æ¿ì¿¡´Â ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î ¿¡·¯¸¦ ó¸®ÇÒ JSPÆäÀÌÁö¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ·² ¶§ ÁÖÀÇÇÒ Á¡Àº buffer¼Ó¼ºÀ» false·Î ¼³Á¤Çؼ´Â ¾È µÈ´Ù´Â °ÍÀÔ´Ï´Ù. ¿¹¿Ü Á¤º¸¸¦ °¡Áö°í ³Ñ¾î°¡±â ¶§¹®¿¡ ÀúÀåÇÒ ¹öÆÛ°ø°£ÀÌ ÇÊ¿äÇÑ °ÍÀÔ´Ï´Ù.
n <%@ page errorPage=¡°»ó´ëÀûurl¡± %>
À§ÀÇ ¼³¸íÇÑ °ÍÀ» ¾Æ·¡ÀÇ ¿¹Á¦¿Í ¿¬°üÇÏ¿© ³ªÅ¸³»¸é ¾Æ·¡ÀÇ ±×¸²°ú °°½À´Ï´Ù.
´ÙÀ½Àº Æû ¾ç½ÄÀ¸·ÎºÎÅÍ °ªÀ» ¹Þ¾Æ¼ »çÄ¢ ¿¬»êÀ» ÇØ ÁÖ´Â JSPÇÁ·Î±×·¥ÀÔ´Ï´Ù. °è»ê½Ã ¿¡·¯°¡ ¹ß»ýÇÏ¿´À» °æ¿ì ¿¡·¯ÆäÀÌÁö·Î ³Ñ°Ü¼ ó¸®Çϵµ·Ï ¿¡·¯Ã³¸® ÆäÀÌÁö¸¦ ¸¸µé¾î ÁÖ¾ú½À´Ï´Ù.
|
calcul.jsp |
»çÄ¢¿¬»êÀ» ÇÏ¿© °á°ú¸¦ º¸¿©ÁÖ´Â JSP |
|
<%@ page contentType="text/html; charset=euc-kr" %> <!--<%@ page errorPage = "calculerr.jsp" %> --> <% String first = request.getParameter("first"); String last = request.getParameter("last"); String oper = request.getParameter("oper"); if (first == null || last == null){ %> <HTML><BODY> <h2>Calculator</h2> <h3>¼ýÀÚ¸¦ ÀÔ·ÂÇϼ¼¿ä</h3> <form action = "calcul.jsp" method = "post"> <input name = "first" size = "10"> <input type=radio name="oper" value="plus" checked>+ <input type=radio name="oper" value="minus">- <input type=radio name="oper" value="multi">* <input type=radio name="oper" value="divide">/ <input name = "last" size = "10"> <input type="submit" value="°è»ê"> </form> </BODY></HTML> <% } else { int first1 = Integer.parseInt(first); int last1 = Integer.parseInt(last); String operator = null; int result = 0; if (oper.equals("plus")) { result = first1 + last1; operator ="+";} if (oper.equals("minus")) { result = first1 - last1; operator ="-";} if (oper.equals("multi")) { result = first1* last1; operator ="*";} if (oper.equals("divide")) { result = first1 / last1; operator ="/";} out.println("<h2>°è»ê°á°ú<h2>"); out.println("<h2>" + first1 + operator + last1 + "=" + result + "<h2>"); } %> | |
|
| |
À§ÀÇ ¿¹Á¦¸¦ º¸½Ã¸é HTMLÆû ¾ç½ÄÀ¸·Î °£´ÜÇÏ°Ô »çÄ¢¿¬»êÀÇ ÀÎÅÍÆäÀ̽º¸¦ ¸¸µé°í JSP½ºÅ©¸³Æ® ºÎºÐ¿¡¼ ÆûÀÇ post¹æ½ÄÀ¸·Î ³Ñ¾î¿Â µ¥ÀÌÅ͸¦ ¹Þ¾Æ¼ °è»êÇÏ´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. ¸ÕÀú °á°ú¸¦ º¸½Ã¸é, 1000+200=1200¡±À¸·Î µ¡¼ÀÀÇ °á°ú´Â Àß ³ª¿ÔÁö¸¸ 1000/0ÀÇ ¿¬»êÀ» ½ÇÇà½ÃŰ¸é ¾Æ·¡ÀÇ ±×¸²°ú °°ÀÌ ¾ÆÁÖ º¹ÀâÇÑ ¿¡·¯¹ß»ý Äڵ尡 Ŭ¶óÀÌ¾ðÆ®¿¡°Ô º¸ÀÌ°Ô µË´Ï´Ù.
À§¿Í °°Àº Çö»óÀ» ¹æÁöÇϱâ À§ÇØ À§ÀÇ Äڵ忡¼ ÁÖ¼® ó¸® ÇÑ ºÎºÐÀ» ½ÇÁ¦ ÄÚµå·Î ¸¸µé¾î ÁÝ´Ï´Ù.
n <%@ page errorPage = "calculerr.jsp" %>
±×¸®°í ¾Æ·¡¿Í °°ÀÌ ¿¡·¯¸¦ ó¸®ÇØ ÁÖ´Â calculerr.jspÆäÀÌÁö¸¦ ¸¸µé¾ú½À´Ï´Ù.
|
calculerr.jsp |
¿¡·¯¸¦ ¹Þ¾Æ ó¸®ÇÏ´Â ÆäÀÌÁö |
|
| |
|
| |
À§ ¼Ò½º¿Í °°ÀÌ ¿¡·¯¸¦ ó¸®ÇØÁÙ ÆäÀÌÁö¸¦ ¸¸µç ÈÄ ¿¡·¯°¡ ¹ß»ýÇϸé À§ÀÇ calcul.jspÆäÀÌÁö¿¡¼ <%@ page errorPage=¡°»ó´ëÀûurl¡± %> ¸¦ ÅëÇØ¼ exception°´Ã¼°¡ ¿¡·¯ÀÇ Á¤º¸¸¦ °¡Áö°í ³Ñ¾î¿À°Ô µË´Ï´Ù.
±×·¯¸é ÀÌ ÆäÀÌÁö¿¡¼´Â ÇöÀç ÆäÀÌÁö°¡ ¿¡·¯¸¦ ó¸®ÇÒ °ÍÀ» ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î Ç¥½ÃÇϰí ÀÖ½À´Ï´Ù.
n <%@ page isErrorPage = "true" %>
±×¸®°í exception °´Ã¼¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚ¿¡°Ô º¸¿©ÁÙ ¿¡·¯ÆäÀÌÁö¸¦ ÀûÀýÇÏ°Ô ¼³Á¤ÇÕ´Ï´Ù
n <h3>´ÙÀ½ ¹®Á¦ ¶§¹®¿¡ ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.</h3>
n <I><%= exception.getMessage()%></I>
n <h3>¿¡·¯ÀÇ Çü½ÄÀº ´ÙÀ½°ú °°½À´Ï´Ù.</h3>
n <I><%= exception %></I>
ÇÏÁö¸¸ isErrorPage ¼Ó¼ºÀ» false·Î ÇßÀ» °æ¿ì¿¡´Â ¿¡·¯ÆäÀÌÁö´Â Á¦ ±â´ÉÀ» ÇÏÁö ¸øÇÕ´Ï´Ù. ´ÙÀ½ ¿¹Á¦¸¦ º¸½ÃÁÒ. ÀÌ ¿¹Á¦´Â calculerr.jsp ÆÄÀÏ¿¡¼ isErrorPage ¼Ó¼ºÀ» false·Î ¹Ù²Ù¾ú½À´Ï´Ù. ±×¸®°í calcul.jspÀÇ errorPage °æ·Î¸¦ calculerr1.jsp ·Î ¹Ù²Ù¾î ÁÖ¾î¾ß ÇÕ´Ï´Ù.
|
calculerr1.jsp |
¿¡·¯¸¦ ¹Þ¾Æ ó¸®ÇÏ´Â ÆäÀÌÁö |
|
| |
|
| |
°á°ú¸¦ ºÁµµ ¾Ë ¼ö ÀÖµíÀÌ isErrorPage¼Ó¼ºÀ» true·Î ¼³Á¤À» ÇØ¾ßÁö¸¸ ErrorPageÀÇ ±â´ÉÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ·¸°Ô ¿¡·¯¸¦ ó¸®ÇÏ´Â ÆäÀÌÁö¸¦ º°µµ·Î µÎ°í exception°´Ã¼¸¦ Ȱ¿ë ÇÔÀ¸·Î¼ ÇÁ·Î±×·¡¸Ó´Â »ç¿ëÀÚ¿¡°Ô º¹ÀâÇϰí ÀÚ¼¼ÇÑ ¿¡·¯¸¦ º¸¿©ÁÙ ÇÊ¿ä¾øÀÌ ¿øÇϴ ó¸®¸¦ ÇØ ÁÙ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù.
|
java.lang.ThrowableÀÇ ¸â¹ö¸Þ¼µå |
|
|
public String getMessage() : ¿¹¿Ü °´Ã¼ÀÇ ¿¡·¯ ¸Þ¼¼Áö¸¦ ½ºÆ®¸µÇüÀ¸·Î µ¹·ÁÁÝ´Ï´Ù. public void printStackTace() : Ç¥ÁØ ¿¡·¯ Ãâ·Â ½ºÆ®¸²À¸·Î ¿¡·¯ °æ·Î¸¦ ÃßÀûÇÏ¿© Ãâ·ÂÇØÁÝ´Ï´Ù. public void printStackTrace(PrintStream s) : Á¤ÇØÁø Ãâ·Â½ºÆ®¸²À¸·Î ¿¡·¯ °æ·Î¸¦ ÃßÀûÇÏ¿© Ãâ·ÂÇØ ÁÝ´Ï´Ù. | |
| jabookÀúÀÚ¸íÇÔ |
|
Á¦¸ñ:¼Ò¼³°°ÀºJSP1ºÎ ÀúÀÚ:ÃÖ¿µ°ü |