ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JSP 에러페이지
    WEB/JSP 2018. 10. 23. 20:31

    웹페이지 접근할 때 에러가 발생하는 경우 메세지를 제어해서 안내할 수 있다.

    그러기 위해서는 다음과 같은 방법을 사용한다.


    우선 웹페이지에 접근할 jsp 파일은 errorTest.jsp다


    errorTest.jsp

     <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

    <%@ page errorPage="error404.jsp" %> 

    <%--@ page errorPage="error500.jsp" --%>


    <!DOCTYPE html>

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <title>title</title>

    <script type="text/javascript" src="/js/jquery-3.3.1.min.js"></script>

    <style>

    </style>


    <script>

    </script>



    </head>

    <body>


    <%=2/0 %>




    </body>

    </html>



    <%@ page errorPage="~.jsp" %>은 에러가 발생시 해당 에러페이지에서 에러페이지 내용을 출력한다.





    error404.jsp

     <%@ page language="java" contentType="text/html; charset=UTF-8"

        pageEncoding="UTF-8"%>

    <%@ page isErrorPage="true" %>

    <!DOCTYPE html>

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <title>404에러  발생</title>

    <script type="text/javascript" src="/js/jquery-3.3.1.min.js"></script>

    <style>

    </style>


    <script>

    </script>



    </head>

    <body>

    404에러  발생



    </body>

    </html>



    error500.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

    <%@ page isErrorPage="true" %>

    <!DOCTYPE html>

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <title>500에러  발생</title>

    <script type="text/javascript" src="/js/jquery-3.3.1.min.js"></script>

    <style>

    </style>


    <script>

    </script>



    </head>

    <body>

    500에러  발생

    <%=exception.getMessage() %>


    </body>

    </html>


    error404/500.jsp는 해당 페이지가 각각 true이므로 모두 true해서 모두 잡는경우 jsp에서 보통 1번을 먼저 에러로 인식하기 때문에 error404.jsp로 갈 확률이 높지만, 간혹 error500.jsp로 페이지 전환이 될 수도 있다.

    절대적으로 어떠한 에러페이지로 이동하는 점은 아니지만, isErrorPage가 true면 해당 페이지로 이동할 수 있다는 점이 이 글의 핵심이다.


    +추가

    isErrorPage="true"가 있거나 없거나 관계없이 페이지가 에러가 난 경우에 미리 설정된 에러페이지를 화면에 나타낸다. 예를 들어, 500 에러의 경우는 error500.jsp를 무조건 화면에 나타낸다. 따라서 경로가 잘못되면 나타나는 경우인 404는 error404.jsp를 나타낼것이다.


    예를 들어, content.jsp 라는 오류가 있는 jsp 파일 경로가 있다면, 웹상에서는 content.jsp가 그대로 나타나지만

    화면상에서는 에러가 미리 지정된 에러 화면을 보여준다.



    댓글

© 2018 T-Story. All right reserved.