Отключите весь контент ответа Ошибки HTTP по умолчанию в Tomcat

Вы установили перехват запроса?

   await page.setRequestInterception(true)
   page.on('request', interceptedRequest => {
     interceptedRequest.continue()
   })
67
задан Rob Hruska 28 April 2009 в 19:10
поделиться

2 ответа

Если вы не хотите, чтобы tomcat отображал страницу с ошибкой, тогда не используйте sendError (...). Вместо этого используйте setStatus (...).

например, если вы хотите дать ответ 405, вы должны сделать

response.setStatus(HttpServletResponse.SC_METHOD_NOT_ALLOWED);      
response.getWriter().println("The method " + request.getMethod() + 
   " is not supported by this service.");

Также не забудьте не вызывать никаких исключений из вашего сервлета. Вместо этого перехватите исключение и снова установите statusCode самостоятельно.

то есть

protected void service(HttpServletRequest request,
      HttpServletResponse response) throws IOException {
  try {

    // servlet code here, e.g. super.service(request, response);

  } catch (Exception e) {
    // log the error with a timestamp, show the timestamp to the user
    long now = System.currentTimeMillis();
    log("Exception " + now, e);
    response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
    response.getWriter().println("Guru meditation: " + now);
  }
}

, конечно, если вам не нужен какой-либо контент, просто не пишите ничего писателю, просто установите статус.

45
ответ дан 24 November 2019 в 14:39
поделиться

Почему бы просто не настроить элемент с пустой HTML-страницей?

1
ответ дан 24 November 2019 в 14:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: