Hallo =)
ich benutze für mein Webprojekt einen FrontController-Servlet, der jeden Request entgegen nimmt und mit einem
request.getRequestDispatcher(nextpage).forward(request,response)
den Request an ein anderes Servlet weiter leitet.
Das Problem ist jetzt folgendes:
Das Servlet muss mit dem Request arbeiten, d.h. Cookies hinzufügen etc. , deshalb kann ich das Servlet nicht includen sondern muss forwarden.
Ich möchte aber trotzdem, dass mein FrontController-Servlet einfluss auf den Response hat, z.B in Form eines ErrorHandlings.
Ich hatte mir das ungefähr so gedacht:
aber das geht sicherlich nicht weil ein forward meinem FrontController die Verantwortung für den Response entzieht.
Habt ihr irgendeine Idee wie ich das Problem lösen kann?
Vielleicht eine eigene Dispatcher-Klasse?.....habt ihr dafür Vorschläge?
Oder gibt es vll doch einen Weg, dem Request Cookies mitzugeben obwohl das Servlet durch ein include aufgerufen wurde?
Vielen Dank für eure Hilfe =)
ich benutze für mein Webprojekt einen FrontController-Servlet, der jeden Request entgegen nimmt und mit einem
request.getRequestDispatcher(nextpage).forward(request,response)
den Request an ein anderes Servlet weiter leitet.
Das Problem ist jetzt folgendes:
Das Servlet muss mit dem Request arbeiten, d.h. Cookies hinzufügen etc. , deshalb kann ich das Servlet nicht includen sondern muss forwarden.
Ich möchte aber trotzdem, dass mein FrontController-Servlet einfluss auf den Response hat, z.B in Form eines ErrorHandlings.
Ich hatte mir das ungefähr so gedacht:
Java:
try{
dispatcher.forward(request, response);
} catch(Exception e){
response.getWriter().println("<span class='error'> An Error occured </span>");
}
aber das geht sicherlich nicht weil ein forward meinem FrontController die Verantwortung für den Response entzieht.
Habt ihr irgendeine Idee wie ich das Problem lösen kann?
Vielleicht eine eigene Dispatcher-Klasse?.....habt ihr dafür Vorschläge?
Oder gibt es vll doch einen Weg, dem Request Cookies mitzugeben obwohl das Servlet durch ein include aufgerufen wurde?
Vielen Dank für eure Hilfe =)