Вы получите пустую страницу в такой ситуации, когда ответ уже передан сервлетом или JSP, вызвавшим исключение.Другими словами, когда заголовки ответа HTTP уже отправлены веб-браузеру.Это точка нет возврата .
Чтобы предотвратить это, вам нужно убедиться, что вы начинаете писать в ответ только после того, как весь бизнес-код завершил свою работу (лучше, просто не делайте этого в сервлете, нопросто перейдите к JSP), а также, что ваши JSP не содержат какую-либо одну строку бизнес-кода (часто представленную scriptlets <% %>
).
Так что еслинапример, вы делаете это в сервлете
response.getWriter().write("blah");
throw new ServletException("epic fail");
или когда исключение выдается «наполовину» JSP
<p>Some HTML</p>
<% throw new ServletException("epic fail"); %>
<p>Some more HTML</p>
, тогда велик риск, что вы получите пустую страницу.