Michael-O <1983-01...@gmx.net> wrote:
>Hi, > >why does the ErrorReportValve trigger the report on this condition >only? > > if ((statusCode < 400) || (response.getContentCount() > 0)) > return; > >So, even if I do a reponse.setStatus(404), this valve is executed. >According to the Javadoc: if setStatus is invoked [1], the response >should be left untouched in constrast to the sendErroor method. >Especially this sentence makes it clear "If this method is used to set >an error code, then the container's error page mechanism will not be >triggered. " > >Shouldn't that include a response.isError() check? > >[1] >http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponse.html#setStatus%28int%29 Yep. This sort of thing drives me nuts with the Servlet spec. The document is mean to be definitive but isn't. Half the requirements are in the Javadoc and the Javadoc is no longer included in the specification (for no good reason) and the spec lead refuses to add it back in. You used to be able to search one doc for a phrase, method, class, whatever and find all the references. Now it is right pain to figure out what the expected behaviour is. Raise a bugzilla entry for this one and it'll get looked at and (assuming there is a problem as there does appear to be from the fragment you quoted) it will get fixed. Mark --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org