[
https://issues.apache.org/jira/browse/SLING-2724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13574274#comment-13574274
]
Felix Meschberger commented on SLING-2724:
------------------------------------------
I agree about the change, but the current behaviour is probably wrong, so
relying on this wrong behaviour is wrong, too.
We could catch such an IllegalStateException in the SlingMainServlet and not
propagate it to the servlet container but instead just terminate request
processing (of course logging this situation).
> Error handling doesn't respect servlet spec
> -------------------------------------------
>
> Key: SLING-2724
> URL: https://issues.apache.org/jira/browse/SLING-2724
> Project: Sling
> Issue Type: Bug
> Components: Servlets
> Reporter: Antonio Sanso
>
> If there is some servlet that is sending a 500 error
> (response.sendError(500)) and output something after e.g. "All good" (maybe
> this is the wrong part...) and a 500.jsp exists, Sling will "shows" both:
> - the error page 500.jsp
> - and the the extra output (e.g. All good)
> This seems to violate the spec:
> "These methods [sendError, sendRedirect] will have the side effect of
> committing the response, if it has not already been committed, and
> terminating it. No further output to the client should be made by the servlet
> after these methods are called. If data is written to the response after
> these methods are called, the data is ignored."
> Integration test showing the issue in [0]
> Mailing list thread in [1]
> [0]
> https://svn.apache.org/repos/asf/sling/trunk/launchpad/integration-tests/src/main/java/org/apache/sling/launchpad/webapp/integrationtest/servlets/resolver/errorhandler/ErrorHandlingTest.java
> [1] sling.markmail.org/thread/k2t7p5mhi4hgelwb
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira