J'utilise Jetty 9.3.3. Je mis en œuvre ma classe de gestionnaire d'erreur personnalisé, la méthode de la poignée a été appelée, mais ne vois pas pourquoi ne pas causer objet Throwable est obtenu:Jetée personnalisée La classe du gestionnaire d'erreurs est appelée mais aucun objet ne peut être lancé.
Voici le code de ma classe:
public class TestExecuterServerErrorHandler extends ErrorHandler{
private Logger logger=Logger.getLogger(this.getClass().getName());
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException{
logger.systemWriteOutput("handeling error", 3);
ByteArrayISO8859Writer writer= new ByteArrayISO8859Writer(4096);
Throwable th = (Throwable)request.getAttribute(RequestDispatcher.ERROR_EXCEPTION);
response.setContentType("text/xml");
if(th!=null)
{
writeResponseError(response.getStatus(), th, writer);
th.printStackTrace();
}
writer.flush();
response.setContentLength(writer.size());
writer.writeTo(response.getOutputStream());
writer.destroy();
}
}
La sortie:
Comment puis-je imprimer la cause de l'appel de la méthode de poignée?handeling error
handeling error