You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Anurag Chakravarti <ac...@cs.columbia.edu> on 2005/11/17 05:44:12 UTC

Tomcat overwrites error response body

Hi,

Tomcat sends back a default error HTML page, even when I don't want it
to. I want my servlet to send its own error response body. I am doing
the following in my servlet doPut method.

java.io.PrintWriter pr = resp.getWriter();
pr.println(e.getErrorCode().serialize());
resp.sendError(e.getCode());

This does not work. Tomcat sends me a HTML page which I don't want.
What am I missing here.

Thanks
-Anurag

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Tomcat overwrites error response body

Posted by Tim Funk <fu...@joedog.org>.
Don't use sendError() - use setStatus(). Also - se the status first as to 
ensure the response is not committed before you send th body of the page. 
Also - once the page is done - try and close the resonse to ensure any error 
handling by tomcat is not done.

-Tim

Anurag Chakravarti wrote:
> Hi,
> 
> Tomcat sends back a default error HTML page, even when I don't want it
> to. I want my servlet to send its own error response body. I am doing
> the following in my servlet doPut method.
> 
> java.io.PrintWriter pr = resp.getWriter();
> pr.println(e.getErrorCode().serialize());
> resp.sendError(e.getCode());
> 
> This does not work. Tomcat sends me a HTML page which I don't want.
> What am I missing here.
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Tomcat overwrites error response body

Posted by Markus Plail <pl...@web.de>.
Anurag Chakravarti <ac...@cs.columbia.edu> writes:
> Tomcat sends back a default error HTML page, even when I don't want it
> to. I want my servlet to send its own error response body. I am doing
> the following in my servlet doPut method.
>
> java.io.PrintWriter pr = resp.getWriter();
> pr.println(e.getErrorCode().serialize());
> resp.sendError(e.getCode());
>
> This does not work. Tomcat sends me a HTML page which I don't want.
> What am I missing here.

Don't use sendError but setStatus. sendError does the complete error
page and you can only change its content via web.xml.

regards
Markus


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org