websphere cache ? [JAVA] - Java - Programmation
Marsh Posté le 19-03-2003 à 22:31:38
ton problème a l'air plus compliqué qu'il n'y parait mais ca n'a strictement rien à voir avec websphere
Marsh Posté le 20-03-2003 à 08:42:20
En fait le chemin normal (en simplifiant) est :
jsp->servlet->jsp->servlet->jsp
Quand IE est configuré à "recharger la page à chaque démarrage de IE", dans certains cas il fait jsp->jsp. Il ne semble pas rentrer dans la servlet (et donc recharger les infos qui vont bien d'où plantage).
Je dis qu'il ne semple pas rentrer dans la servlet car lorsqu'on fait un println en début de servlet, rien n'est affiché).
Pourquoi tu dis que ça n'a rien à voir avec websphere ? C'est pourtant lui qui trouve le cast exception.
Nestor.
Marsh Posté le 20-03-2003 à 10:04:38
Nestor a écrit : En fait le chemin normal (en simplifiant) est : |
bin c'est ton design qui est bugé c'est tout L'erreur n'a rien à voir avec l'application serveur a priori. C'est un problème dans ton code/design
Je sais pas tu peux pas poser les appels principaux pour voir ce qui se passe?
Marsh Posté le 21-03-2003 à 16:40:47
En fait, pour atteindre chaque jsp, je clique sur des liens (href=..) dans un menu. Chaque lien pointe sur une servlet (et non pas une jsp).
La sortie de la servlet est une jsp (en fonction du lien bien sur).
Donc logiquement, en cliquant sur un lien, je tape la servlet qui m'affiche la bonne jsp.
Mais non, dans certains cas, en swappant sur les différents liens du menu, il ne repasse pas par la servlet et affiche directement la jsp qui correspond au lien. Sauf que dans le cas normal, la servel à mis des trucs dans la session pour la jsp. Et là, ces trucs manquent. (je redis : un println en tout début de servlet ne s'affiche pas : donc il ne rentre pas dans la servlet).
Et ça ne peut pas être le navigateur qui cache car c'est le serveur qui génère une erreur.
Marsh Posté le 22-03-2003 à 23:34:37
montre tes appels ... Il y a *surement* une différence entre ce que tu décris et ce que tu as codé
Marsh Posté le 24-03-2003 à 09:12:58
Les liens sensé attaquer la servlet sont tous :
a href="Navigation?action=XX
dans la servlet Navigation,
j'ai un truc du style :
if action = XX
alors créer une ArrayList de beans monTypeBean (le type varie suivant l'action) remplis avec telles infos
ajoute la liste à la session sous le nom "listeBean"
renvoi sur la jsp.
(Note : c'est une classe à part entière qui gère la création, l'alimentation et l'ajout à la session de l'ArrayList mais cette classe est identique à chaque fois).
Dans chaque jsp
je récupère la liste : (ArrayList)session.getAttribute("listeBean" )
je récupère les beans en castant avec le bon type de bean en fonction de la JSP :
(monTypeBean) listeBean.get(i)
Encore une fois : avec une configuration de IE "recharger la page à chaque visite", pas de pb.
si IE est configuré sur "recharger la page à chaque démarrage de IE", un println en début de servlet Navigation ne s'affiche pas à chaque coup et j'ai des erreurs sur le cast "(monTypeBean) listeBean.get(i)" car il n'a pas le bon "monTypeBean" dans la session (puisque celui-ci n'a pas été remis à jour par passage dans la servlet navigation).
Marsh Posté le 19-03-2003 à 15:07:48
Salut,
j'ai un menu qui renvoit sur différentes JSP via un servlet.
chaque JSP reçoit une liste de bean (bean différents d'une JSP à l'autre). Cette liste est passée à la JSP via la session.
Pb : lorsque IE est réglé sur "vérifier qu'il existe une version plus récente de la page : à chaque démarrage du navigateur",
ça plante lorsque je navige entre certaines JSP. En effet, dans certains cas (pas dans tous, d'où la bizarrerie), il ne rerentre pas dans le servlet pour remettre à jour la liste de bean et fait un cast exception.
Ca fait ça même en mettant les infos qui vont bien dans le header de la reponse "no-cache, expire=0...".
Ce qui est louche, c'est que c'est websphere qui merde : il passe d'une jsp à l'autre sans repasser par le servlet. D'où ma question : comment l'obliger à passer par le servlet ?
Note: ça marche normalement en changeant les options de rechargement de la page dans IE mais ça, je ne peux pas y toucher.
Merci de votre aide.