Class CacheControlFilter

  • All Implemented Interfaces:
    javax.servlet.Filter

    public final class CacheControlFilter
    extends AbstractFilter
    Implémentation de javax.servlet.Filter utilisée pour contrôler la mise en cache dans le navigateur client.
    Note : Une "limitation de la sécurité" de MSIE 5.5 (bug non présent dans Firefox) n'accepte ni Cache-Control=no-cache, ni Pragma=no-cache en SSL sur les téléchargements de fichiers pdf, doc, xls, xml : remplacer Cache-Control=no-cache par max-age=1.
    Author:
    Emeric Vernat
    • Constructor Detail

      • CacheControlFilter

        public CacheControlFilter()
    • Method Detail

      • doMyFilter

        public void doMyFilter​(javax.servlet.ServletRequest req,
                               javax.servlet.ServletResponse res,
                               javax.servlet.FilterChain chain)
                        throws IOException,
                               javax.servlet.ServletException
        La méthode doMyFilter est appelée par le container chaque fois qu'une paire requête/réponse passe à travers la chaîne suite à une requête d'un client pour une ressource au bout de la chaîne. L'instance de FilterChain passée dans cette méthode permet au filtre de passer la requête et la réponse à l'entité suivante dans la chaîne. Cette implémentation ajoute en headers http les paramètres d'initialisation définit dans la configuration du filtre (voir configuration de la webapp). Typiquement, cela permet d'ajouter des headers pour contr�ler la mise en cache sur le navigateur client en fonction du type de contenu demandé. Par exemple : "Cache-Control: no-cache" ou "Cache-Control: max-age=3600" suivant l'instance de filtre.
        Specified by:
        doMyFilter in class AbstractFilter
        Parameters:
        req - javax.servlet.ServletRequest
        res - javax.servlet.ServletResponse
        chain - javax.servlet.FilterChain
        Throws:
        IOException - Si une erreur d'entrée/sortie survient
        javax.servlet.ServletException - Si une erreur de servlet survient