Establecer mensaje de notificación como atributo de solicitud que debe aparecer después de sendRedirect

He creado dos conjuntos de servlets: Vistas y Controladores / Controladores

Puntos de vista: Realizar lecturas simples y reenviar datos aJSPsControladores: Realice actualizaciones o inserciones de la base de datos y envíe una notificación a unJSP o un servlet de tipo Vista

La notificación aquí es un mensaje de estado para el usuario. Ejemplo: "Has actualizado con éxito bla ..."

Si yo usorequestDispatcher.forward() en los controladores y el usuario actualiza (después de que el controlador ha pasado el control para ver / jsp) la página confirmando reenviar existe la posibilidad de que se realicen acciones duplicadas

Si yo usoresponse.sendRedirect() Parece que no puedo enviar notificaciones sin configurarlas en la sesión

¿Existe una buena práctica de diseño que ayude aquí? Se agradecería cualquier buen enlace a MVC para java w / o frameworks que maneje este escenario particular.

No estoy usando Spring o Struts, simplemente viejos HTTPServlets

Ejemplo: controlador:

public XServlet extends HttpServlet{
     public void processRequest(request, response) throws ...{ 
         //Do some stuff here
         if(success){
             setUserMessage("Hooray ur profile pic is uploaded!");
         } else {
             setUserMessage("Oh no! We couldn't upload that file its too biG!");
         }

         //Send the notification
         request.setAttribute("status", getUserMessage());
         request.getRequestDispatcher("editProfile.jsp").forward(request, response);
    }
}

Hacer esto significa que si el usuario intenta actualizar la página, el control volverá a pasar a este controlador y algunas acciones pueden repetirse innecesariamente.

Sin embargo si usosendRedirect() entonces no puedo mostrar el mensaje de estado sin recurrir a un atributo de sesión o agregarlo a la URL.

Respuestas a la pregunta(2)

Su respuesta a la pregunta