Gestion de cache ? [Tomcat] - Java - Programmation
Marsh Posté le 08-01-2004 à 21:13:14
Non, je ne crois pas que la DefaultServlet fasse de cache...
Tu n'as pas de serveur frontal (apache ?), c'est directement Tomcat qui te retourne les fichier statiques ?
Tu n'as pas mappé une servlet particulière sur l'extension html ? (la servlet jsp par exemple)
Autre solution : peut être que c'est ton browser web qui fait du cache ... enfin là je suis pas sûr de moi, mais ca me parait pas impossible ... Est ce que tu as vérifié si une requête était réellement faite et que la réponse HTTP était 200 ?
Marsh Posté le 09-01-2004 à 09:47:33
benou a écrit : Non, je ne crois pas que la DefaultServlet fasse de cache... |
non je n'ai pas de serveur apache, car je n'ai que 2 fichiers html en statique et ce que Apache embarque me suffit amplement.
Je n'ai rien mappé (c'est un tomcat de base, sans configuration particulière autre que le contexte)
Quant au browser, c'est ce que je me suis dit, mais vu que ça passe par Java, le browser ne doit pas entrer en compte si ?
Quand on demande à JEditorPane d'ouvrir une page HTML, il ne doit pas passer par le navigateur, sinon c'est pas réutilisable dans une application
je vais essayer de voir si la requete a effectivement été faite, mais je ne vois pas pourquoi elle ne l'aurait pas été...
Marsh Posté le 09-01-2004 à 10:33:24
quand t'es dans une applet, les demandes que tu fais passent par le browser => quand tu demandes la récupération d'une url, l'applet demande au browser de la récupérer => le browser pourrait très bien faire du cache.
Mais c'est juste une idée, hein ! je suis pas sûr que ce soit ca ...
Marsh Posté le 09-01-2004 à 11:06:32
j'ai désactivé le cache du navigateur, et ça foire toujours
si les données sont bien mises à jour lors de la lecture
si tomcat ne gère aucun cache
si le navigateur ne rentre pas en compte
et vu que java ne gère pas non plus de cache
j'aimerais bien savoir d'où sort ce %£$@# de bug !!!
la solution serait de changer de fichier à chaque fois, mais comment être sûr que ce fichier est unique, et comment le supprimer une fois qu'il n'est plus utilisé ?
pour l'instant je donne le nom de la session au fichier HTML...
Marsh Posté le 09-01-2004 à 11:35:35
j'ai résolu le problème en ajoutant un compteur au nom de session pour générer le nom de fichier, et à chaque requête, je supprime l'ancien... crade, mais efficace
mais il serait intéressant de trouver d'où vient ce problème.
Autre problème aussi gênant : Avec Tomcat 4.1.29 sur un Linux RedHat 8.1, la page HTML affichée est devenue immonde : c'est de l'Unicode affichée en Latin1. Pourtant dans le header de la page, il est bien précisé d'utiliser ISO-8859-1 :
Code :
|
pourtant le code récupéré est de l'Unicode. Je sais qu'il y a un bug dans la version 4.1.29 qui ajoute automatiquement le charset, mais je n'ai pas trouvé comment désactiver ça...
Précision : ça le fait sur une page accédée par un navigateur, mais aussi par le JEditorPane... donc à priori ça vient du serveur, pas du navigateur
Marsh Posté le 07-07-2010 à 11:58:29
Gros déterrage de topic pour une question relative au cache de Tomcat. Est-il possible d'interdire la mise en cache complète ? ie: pas seulement d'une page html avec le no-cache en META, mais également des feuilles de style et des images etc...
Merci !
Marsh Posté le 08-01-2004 à 17:57:57
Bonjour (Bonsoir )
J'ai un problème de lecture de fichier distant...
rapidement voilà comment ça se passe
L'applet fait une requête à une servlet
La servlet supprime le fichier s'il existe
La servlet écrit les données dans le fichier
La servlet envoie le nom de fichier à l'applet
L'applet ouvre le fichier
L'applet visualise le contenu dans un JEditorPane...
voilà 2 portions de code :
le truc, c'est que dans le morceau DEBUG, l'affichage des données lues dans le fichier ne correspond pas aux données qu'il y a réellement dans le fichier... J'ai donc mis un maximum de gestion pour empêcher la lecture précoce (attendre que le fichier soit bien supprimé avant de réécrire de nouvelles données dedans), mais ça ne change rien. Je pense donc à une gestion de cache par Tomcat. Un truc du genre : Si les requêtes sont très rapprochées, Tomcat ne va pas aller lire le fichier HTML, mais envoyer directement celui qu'il a en cache...
Seulement voilà, j'ai pas trouvé d'information concernant cette fonctionnalité, donc si quelqu'un en avait, ce serait super sympa de me rediriger, merci
Message édité par Predicator le 08-01-2004 à 18:02:16