기본적으로 Tomcat은 HTTP 404와 같은 오류가 발생하면 클라이언트에게 HTML 콘텐츠를 보냅니다. web.xml
을 통해 <error-page>
can be configured을 통해이 내용을 사용자 정의 할 수 있습니다.톰캣의 모든 기본 HTTP 오류 응답 내용을 사용하지 않음
그러나 나는 단지 톰캣에 대해 을 보내지 않고 응답 내용면에서을 보내지 않습니다. (물론 여전히 상태 코드를 좋아할 것입니다.) 쉽게 구성 할 수있는 방법이 있습니까?
A) 명시 적으로 내 서블릿의 응답 스트림에서 빈 콘텐츠를 보내지 않고 B) 내 전체에서 여러 가지 HTTP 오류 상태에 대한 사용자 지정 오류 페이지를 구성하려고합니다.
일부 배경에서 HTTP API를 개발 중이며 자체 응답 내용을 제어하고 있습니다. 예를 들어, HTTP 500의 경우 오류 정보가 포함 된 응답의 일부 XML 컨텐트를 채 웁니다. HTTP 404와 같은 상황에서는 HTTP 응답 상태가 클라이언트에 충분하며 tomcat이 전송되는 내용은 필요하지 않습니다. 다른 접근법이 있다면, 나는 그것을 듣고 싶어합니다.
편집 : 계속적인 조사를 통해 해결책을 찾지 못했습니다. 누군가가 이것이 가능하지 않다고 분명히 말할 수 있거나 작동하지 않을 것이라는 증거를 자원에 제공한다면, 나는 대답으로 받아 들여 그것을 시도하고 해결할 것입니다.
나는 코드의 의미를 과부하하지 않으므로 의도 한대로 사용하고 있습니다. 이것은 REST API를위한 것입니다. 예를 들어 누군가 내 API에서 특정 리소스에 대해 GET을 수행하고 찾지 못하면 응답 상태를 404로 설정합니다. 이상한 오류가 발생하면 , 나는 상태를 500으로 설정하고 응답에 오류 내용을 제공한다. 하지만이 콘텐트에 대한 독점적 인 통제권을 원합니다. Tomcat이 HTML이나 다른 것을 반환하는 것을 원하지 않습니다. 컨텐트가 리턴되어야한다면, 나는 서블릿이 그것을 수행하기를 원한다. –
서블릿 3은 하나의 캐치를 모두 허용하는 것으로 나타났습니다 : http://static.springsource.org/spring/docs/3.2.0.BUILD-SNAPSHOT/reference/html/mvc.html# mvc-ann-customer-servlet-container-error-page –
@ErichEichinger - 유용한 정보입니다. 함께 전달해 주셔서 감사합니다. –