Bonjour,
Je suis en train d'adapter un framework AJAX initialement basé sur le mécanisme d'une servlet, lequel écrit toutes les réponses directement dans la HttpServletResponse.
En gros, voila le principe :
On lance l'appli depuis le client ->localhost:8080/MonAppli/
la servlet instancie un service qui va récupérer le Writer de la HttpServletResponse, pour y écrire un code HTML minimal (en gros, juste les balises <HTML><HEAD><TITLE> et <BODY> et un titre. Il y a également dans ce code html une inclusion de javascript dont le code n'est initialement pas fourni, mais chargé grâce à un onLoad().
Une seconde requête est donc lancée (localhost:8080/MonAppli/serviceId=synchro) afin de récupérer le code du javascript, qui est lui aussi directement inscrit dans la HttpServletResponse. Puis ce javascript lance plein de requetes via un objet XMLHttpRequest, dont les réponses sont egalement directement inscrite dans la HttpServletResponse.
Bon, voila le contexte. Avec tout ce petit monde, j'ai réussi à remplacer la servlet par une action struts afin de rendre utilisable le framework dans un projet architecturé avec struts. De ce côté là, aucun soucis.
Mais, vu qu'il fait toujours un mais, j'ai maintenant besoin de passer par une JSP pour afficher mon résultat (car je compte désormais utiliser ce framework dans une portlet avec le bridge struts d'apache, qui me semble-t-il exige une JSP comme intermédiaire...)
Comment puis-je procéder pour ne plus écrire directement dans la réponse Http, mais bel est bien dans un bean, lequel sera ensuite retranscrit dans une JSP ? sachant que je dois un coup utiliser un Writer (pour les content-type text/...) ou un OutputStream pour les images (pour le moment, je me limite à ça...)
J'aimerai autant que possible ne pas refaire entièrement mon framework qui marche pas trop mal jusque là, mais seulement "bricoler" au plus rapide pour obtenir une ébauche de truc qui marche...(ah oui, point important, j'ai jamais écrit une seule JSP, et comprends pas vraiment à quoi ça sert dans la mesure ou tout peut être écrit dans une réponse...Alors n'hésitez pas à me "prendre par la main" )
Merci pour vos conseils
Cheloute
Partager