JSP에서 컴파일 에러 혹은 런타임 예외 발생 시
디폴트로 HTTP Status Code, Java Stack Trace 등을 보여준다.
이는 user-friendly하지 않을 뿐만 아니라
코드가 노출되는 등 보안 관점에서도 유익하지 못하다.
디폴트 에러 페이지 대신 원하는 페이지를 보여주기 위해 web.xml에 다음을 추가한다.
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>
이는 예외가 발생한 경우를 핸들링하기 때문에 404의 경우에는 해당되지 않는다.
예외와 무관하게 HTTP Status Code가 에러인 경우에 대한 처리는 다음과 같이 할 수 있다.
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
Stack Trace는 다음에서 확인할 수 있다.
$CATALINA_HOME/logs/catalina.out
에러 페이지 내에 다음을 추가하면 설정과 상관없이 디폴트 에러 페이지에 나오던 내용을 볼 수 있다.
<% page isErrorPage="true" %>
별도의 에러 페이지를 만들고 디폴트 에러 페이지의 내용이 나오게 할 일은 없을테니
다른 용도가 있을 듯한데 귀찮아서 패스.
혹시 아시는 분이 있다면 코멘트 부탁드립니다 :-)
Reference:
http://stackoverflow.com/questions/2748220/how-to-show-user-friendly-error-page-instead-of-tomcat-log-with-stack-trace-in-b
'Programming > JSP' 카테고리의 다른 글
이클립스에서 JSP 소스의 코드어시스트가 되지 않을 경우- (0) | 2014.01.02 |
---|---|
EL 함수 사용하기 (0) | 2012.10.30 |
자바 정적메소드를 EL(익스프레션언어)함수로 등록하는 방법 (0) | 2012.10.30 |
JSP 컴파일 시 인터넷창으로 (0) | 2012.10.15 |
getParameter와 getAttribute의 차이 (0) | 2012.09.25 |