Parancoe: Url Mapping

Parancoe: Url Mapping

Posted by gtrev on Lun, 27/08/2007 - 20:55 in

Nell'ultima settimana ho cercato di capire come funziona il meccanismo di url mapping di Spring, ovvero la parte dello stack MVC che permette di mappare una richiesta HTTP verso l'opportuno controller.

La cosa ovvia è che del tutto si occupi la servlet che fa da front controller (DispatcherServlet), visto che a questa arriva la HttpRequest, meno ovvio è il modo con cui la servlet opera.

Analizzando il codice di Spring (viva l'open source!) ho capito che la servlet demanda la repsonsabilità di determinare il corretto controller ad una opportuna istanza di HandlerMapping.

Vi risparmio la dimostrazione di questa asserzione, fidatevi.

Quello che è importante è che per gestire il corretto instradamento dela richiesta HTTP al controller basta registrare un opportuno oggetto di tipo HandlerMapping.

HandlerMapping è un'interfaccia che contiene un unico metodo, getHandler, che ritorna sia l'handler che gli interceptors registrati per la richiesta HTTP.

Quindi la retta via da seguire adesso è quella di realizzare un HandlerMapping per Parancoe!

Oltre a questo mi piacerebbe
Oltre a questo mi piacerebbe arrivare ad un engine che genera lo scheletro della jsp, del controller a partire dal PO. Ovvero un controller con le funzioni di add, list, edit, view, delete e le relative jsp...fantascienza? non tanto visto che il codice che si scrive è abbastanza ripetitivo.
Posted by enrico on Mar, 28/08/2007 - 13:49
Ciao, sono d'accordo e

Ciao, sono d'accordo e approvo :)

 

Ti ricordo anche però che una parte del problema è anche l'introduzione di un controller base "unificato" per "multi-action" e form...sarebbe anche comodo che tale controller riuscisse a gestire form con più di un pulsante di submit al loro interno.

Posted by Lucio Benfante on Mar, 28/08/2007 - 07:32
Grazie per l'approvazione .
Grazie per l'approvazione Smile. In effetti il problema da risolvere è più ampio, questa parte si occuperebbe del solo instradamento al corretto controller tramite annotation. L'unica cosa che cambierebbe nei controller è la presenza delle annotazioni di url mapping. Diciamo che sono partito dall'url mapping perché era la parte meno oscura per me di quello che si voleva fare, spero che Jacopo riesca presto a scrivermi un breve testo con i requisiti da sviluppare, perché mi sono leggermente perso Cool
Posted by gtrev on Mar, 28/08/2007 - 07:55
Invia nuovo commento
  • Linee e paragrafi vanno a capo automaticamente.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.

Maggiori informazioni sulle opzioni di formattazione.