Cuando se crea una aplicacion Java SE web todo se hace en torno a un Servlet central, que es el encargado de seleccionar que controlador se encarga de cada respuesta, y dentro de cada uno de estos controladores se realizan las tareas necesarias para servirla.

public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Map myModel= new HashMap();
miModelo.put("integer_value", 500);
miModelo.put("string_value", "cadena aleatoria");
ModelAndView miMAV = new ModelAndView();
miMAV.setViewName("my_currently_view");
miMAV.addObject(myModel);
return miMAV;
}
Con la aparición de los Controladores por anotaciones (@Controller), esta operación ha variado significativamente, utilizandose la clase Model a través del Controlador para registrar los datos que serán utilizados por la vista, la cual es devuelta en el retorno del método del controlador.










