L'url est d'une manière générale le seul point de contact entre ton navigateur et ton serveur. Quand ton navigateur veux une image, il a besoin d'un url pour y accéder. Dans ton cas, comme l'image proviens de la base de donnée, il faut une servlet qui correspond à l'url, cette servlet va aller pomper l'image dans la base de donnée et la fournir au client. Schématiquement tu va avoir çà
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Navigateur demande page jsf -> serveur fourni le contenu de ta page jsf -> navigateur vois le tag <img> dans la page html navigateur demande l'image correspondante (deuxième requete donc) -> serveur vois que l'url correpond à ta servlet, il dispatche vers ta servlet -> ta servlet se connecte à la base de donnée et fourni l'image demandée -> le navigateur affiche l'image en questionToujours la meme chose :De plus je ne sais pas du tout comment l'utiliser dans la source de mon graphicImage.
<h:graphicImage value="<url de la servlet>?<parametre de la servlet>"/>
Le parametre en question étant un parametre quelconque permettant à la servelt de localiser l'image.
Non, il existe d'autre tag image, mais ca reviens toujours +- au même: le tag va générer un <img> qui pointe ver une url ou retrouver l'image, url qui sera servie par une servlet. JE ne connais pas les détails de af:image, je n'ai jamais utilisé cette librairie de composants.Q2 : Suis-je obligé d'utiliser graphicImage ? Qu'a t'il de plus que <af:image> ?
Bien tu fait un select avec une clause where sur le idroom, idroom que tu devrais recevoir en parametre de ta servlet. Exemple:Pour le SQL, j'ai une table room dans laquelle j'ai 4 attributs : idroom, roomname, capacity, image. Je souhaiterais prendre que l'attribut image.
http://monserveur/monappliweb/imageServlet?idRoom=123456
et ton select du genre
select image from room where idRoom=123456
Voir au dessus, mais si tu te demande si t'as besoin d'un where, un cours de base sur le sql serait peut etre nécessaire. Comment tu veux choisir ton image sans un where?Q3 : Dois-je utiliser un Where obligatoirement ? Si oui, je ne vois pas comment l'utiliser.
Partager