[Servlet] 에러코드로 응답하기

참고 문서

특정 조건에서 HTTP 에러코드로 응답해야 하는 경우가 있다. 예를 들어 사용자가 파라미터를 임의로 입력했을때 없는 페이지인 것처럼 보인다던지 하는 경우인데, 이 때는 HttpServletResponse의 메서드를 이용해 응답코드의 상태 값을 임의로 변경하는 방식을 쓴다.

sendError

void sendError( int code [, String message ] )
response.sendError(404, "잘못된 접근입니다.");

setStatus

void setStatus( int code [, String message ] )
response.setStatus(404);

sendError()setStatus()는 응답방식의 차이가 있는데 sendError()의 경우 다음처럼 에러페이지를 응답한다:

반면 setStatus() 메서드는 말 그대로 상태 값만 설정하기 때문에 페이지는 정상 표시되지만, 웹 디버거로 확인해보면 상태 값은 설정한 대로 응답한다: