(Taglib) Euh comment ça marche ?

Euh comment ça marche ? (Taglib) - Java - Programmation

Marsh Posté le 30-07-2002 à 19:09:11    

Question naze : "Comment ça marche les TagLibs ? " Et surtout : "Si je mets du code dans un TagLib, sera-t-il exécuté dans le même thread que le code de ma page Jsp où je l'aurai inséré ? La réponse à cette question dépend-telle de l'implémentation du serveur d'applications ?" Si quelqu'un a une vague idée sur la question, eh bien merci d'avance beaucoup beaucoup.

Reply

Marsh Posté le 30-07-2002 à 19:09:11   

Reply

Marsh Posté le 30-07-2002 à 23:02:26    

exo_ a écrit a écrit :

Question naze : "Comment ça marche les TagLibs ? " Et surtout : "Si je mets du code dans un TagLib, sera-t-il exécuté dans le même thread que le code de ma page Jsp où je l'aurai inséré ? La réponse à cette question dépend-telle de l'implémentation du serveur d'applications ?" Si quelqu'un a une vague idée sur la question, eh bien merci d'avance beaucoup beaucoup.




 
Je pense que le taglib est executé dans le même thread pour la simple raison qu'il fait partie intégrante de la page et qu'on est obligé de les executer en 'sequence', donc aucun interet de multithreader... Par contre, faut verifier dans ton code en affichant le hashcode de la thread active et verifier que c bien le même...

Reply

Marsh Posté le 30-07-2002 à 23:32:10    

therier a écrit a écrit :

 
Par contre, faut verifier dans ton code en affichant le hashcode de la thread active et verifier que c bien le même...




 
c'est plus sûr d'utiliser System.identityHashCode(tonThread) ... pour le cas où le hashCode ait été surchargé


Message édité par benou le 30-07-2002 à 23:32:23
Reply

Marsh Posté le 31-07-2002 à 09:46:12    

benou a écrit a écrit :

 
... pour le cas où le hashCode ait été surchargé




 
Tu serais pas un peu vicieux toi?  :D  :D  :D

Reply

Marsh Posté le 31-07-2002 à 10:26:32    

therier a écrit a écrit :

 
Tu serais pas un peu vicieux toi?  :D  :D  :D  




ben nan : le thread qui va être utilisé dans ta servlet va avoir été généré par le moteur de servlet. Ca m'étonnnerait pas du tout qu'ils gèrent un pool de Thread, et donc, on peut imaginer que dans ce cadre là ils peuvent avoir surchargé hashCode() ... Et puis si demain tu change de moteur de servlet et que ton appli se comporte bizarement, tu en chierais pas mal avant de comprendre que ca peut venir de là ! ;)
 
enfin, bon, moi je dis ca ... tu fais comme tu veux ...

Reply

Marsh Posté le 31-07-2002 à 10:33:11    

bin pour la question du bonhomme, le code du taglib est executé dans la meme thread, c'est sur à 99, 999999% (sinon si tu fais un out.write dans ton tag, tu aurais pas de controle sur l'"endroit" ou c'est imprimé dans l'output non??)
cela dit rien ne t'empeche à priori de créer un thread dans le code de ton tag, mais c'est une autre histoire.
 
sinon pour voir comment ça fonctionne, tu mates le source de la servlet crée par ton moteur jsp (à partir de la jsp ou tu appelles ce tag donc... En gros ça crée une instance de l'objet tag et appelle les méthodes doStartTag() et les autres, et c tout, je crois.
 

Reply

Marsh Posté le 31-07-2002 à 11:24:04    

Effectivement, dans le cadre limite de ma petite page qui est
servie par Tomcat, le code des tags et le code Jsp sont bien
executes dans le meme thread. Cependant, n'existe-t-il pas une
spec quelconque qui dit que tous les gens qui implementent des
serveurs d'applications avec Jsp et Taglib doivent faire en  
sorte que ce soit le cas ? Car je ne veux pas que ma jolie
page parte en sucette a la premiere migration vers un serveur
exotique...
 
Quoiqu'il en soit, merci a tous pour vos reponses.

Reply

Marsh Posté le 31-07-2002 à 11:26:35    

exo_ a écrit a écrit :

Effectivement, dans le cadre limite de ma petite page qui est
servie par Tomcat, le code des tags et le code Jsp sont bien
executes dans le meme thread. Cependant, n'existe-t-il pas une
spec quelconque qui dit que tous les gens qui implementent des
serveurs d'applications avec Jsp et Taglib doivent faire en  
sorte que ce soit le cas ? Car je ne veux pas que ma jolie
page parte en sucette a la premiere migration vers un serveur
exotique...
 
Quoiqu'il en soit, merci a tous pour vos reponses.




 
Normalement le comportement DOIT etre le même sinon ton serveur n'est pas exotique, il est buggé!  :D  
 

Reply

Marsh Posté le 31-07-2002 à 14:05:21    

de toute façon ca aurait pas bcp de sens que ce soir executé dans un thread différent ...

Reply

Marsh Posté le 31-07-2002 à 14:07:25    

benou a écrit a écrit :

de toute façon ca aurait pas bcp de sens que ce soir executé dans un thread différent ...




 
...vu que le traitement est sequentiel...  :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed