2010-06-20 3 views
1

Je souhaite diffuser une image enregistrée en tant que blob dans une base de données MySQL via hibernate3 dans une application JSF. Mon intention est que /myapp/image/get.faces?id=x servira l'image enregistrée dans la base de données avec id x. Comment y parvenir?JSF, Hibernate et servant un BLOB

+0

Un grand merci aux deux! –

Répondre

3

Mon intention est que /myapp/image/get.faces?id=x va servir l'image enregistrée dans la base de données avec id x.

  • Mappez cette URL à une servlet.
  • À partir de la servlet, récupérez une entité détenant un byte[] (mappée @Lob ) par id.
  • STREAM l'image au HttpServletResponse

Le camarade BalusC a écrit un beau post sur ce an image servlet sur son blog. Si vous avez des problèmes avec la partie Hibernate, veuillez élaborer.

+0

[OT] Wow, Pascal, la pile emporte-t-elle votre travail à plein temps? :) –

0

Je pense que RichFaces a un composant pour cela - comme pour presque tout. Mais je recommanderais la manière de servlet, voir l'autre réponse. De plus, assurez-vous de mettre du cache de contenu statique devant votre application JSF - le retirer de la base de données à chaque fois n'est PAS une bonne idée.