Voilà un post qu’il va être chiant comme la mort à lire!
Je vous propose aujourd’hui de voir comment Wicket, en partant de la requète Http arrive à créer le html.
Le cas précis est celui de l’appel de la “Home Page” de notre application. Rien de bien compliqué donc au niveau de la gestion des paramètres.
Je reviendrai surement plus précisement sur la gestion des paramètres dans un autre post.
Pré Requis
WicketFilter.init() //au lancement du tomcat
Analyse de la requête: http://localhost:8080/wanalyse/
- WicketFilter.doFilter()
- WicketFilter.doGet()
- création WebRequest
- création WebResponse
- récupération RequestCycle
- RequestCycle.request()
- RequestCycle.steps()
- forearch step
- RequestCycle.step()
- case PREPARE_REQUEST:
- RequestCycle.prepare();
- case RESOLVE_TARGET:
- WebRequestCycleProcessor.resolve()
- case PROCESS_EVENTS:
- RequestCycle.processEventsAndRespond()
- AbstractRequestCycleProcessor.processEvents()
- BookmarkablePageRequestTarget.processEvents()
- AbstractRequestCycleProcessor.processEvents()
- RequestCycle.processEventsAndRespond()
- case RESPOND:
- RequestCycle.respond()
- AbstractRequestCycleProcessor.respond()
- BookmarkablePageRequestTarget.respond()
- Page.renderPage()
- BookmarkablePageRequestTarget.respond()
- AbstractRequestCycleProcessor.respond()
- RequestCycle.respond()
- case PREPARE_REQUEST:
- RequestCycle.step()
- forearch step
- RequestCycle.detach();
- RequestCycle.steps()
- WebResponse.close()
- WicketFilter.doGet()
On voit bien que le gros du travail se passe au sein du RequestCycle et de la Page.
Je détaillerai d’ailleurs prochainement ce qui se passe dans un Page.renderPage().
Pour mémoire (la mienne ca c’est sur et la votre peut être), les interfaces importantes:
org.apache.wicket.IRequestTarget
org.apache.wicket.request.IRequestCycleProcessor
org.apache.wicket.request.IRequestCodingStrategy
org.apache.wicket.request.target.IEventProcessor
org.apache.wicket.request.target.component.IBookmarkablePageRequestTarget
Imprimer cet article


Plop
Alors, elle vient la suite ?
Non mais sérieusement, j’ai adoré l’idée de ce post : rien de mieux qu’un trace pas à pas comme tu l’a fait pour comprendre les entrailles de Wicket. J’attends avec impatience la suite.
Merci.
Je vais pas tarder à commencer une mission où je vais faire du Wicket (entre autre). J’aurai donc, je l’espère, le temps d’approfondir ma connaissance des rouages de ce framework.