Hi Zusammen!
Noch eine java-Newbie-Frage: Wie stoppe ich ein Servlet? Ich bin in einem "beliebig tiefen" Objekt, das ursprünglich vom Servlet aufgerufen wurde. Das Objekt erkennt einen Fehler, leitet die Messagen an den ErrorHandler. Dieser macht irgendwas, und gibt die Message auf dem Bildschirm aus. Anschliessend soll der Request an das Servlets nicht mehr weiter abgearbeitet werden. In etwa so:
/*
* output the error response
*/
response.reset();
response.setContentType("text/html");
out.println("stopped because of an error.");
/*
* stop the servlet from executing further code
*/
???
Alles anzeigen
Mit System.exit() kill ich das ganze Servlet. Mit return; könnte ich die Abarbeitung des Servlets unterbrechen, wenn ich direkt im Servlet wäre. Bin ich aber nicht. Wichtig ist, dass das Servlet nicht gekillt wird, sondern nur der Request nicht mehr weiter abgearbeitet wird.
Ich bin mir ziemlich sicher, ich bin nicht der erste, der die Fehlerbehandlung so ähnlich lösen möchte. Kann mir bitte jemand helfen, von der Leitung runterzusteigen?
Thanx.
EDIT:
Hab mir jetzt überlegt, dass der oben genannte CodeTeil in einer Exception, die sich von der RuntimeException vererbt, drinnen stehen könnte. Vorausgesetzt, dass diese Exception nicht fälschlicherweise von
abgefangen wird, komme ich so zum letzten Block der im doPost selber drinnen steht und kann den ServletRequest fein abbrechen.
Was haltet Ihr von der Idee?