Analyser les requêtes HTTP avec les filtres de journaux Java
javax.servlet.FilterUn moyen pratique d'implémenter et d'analyser le contenu des requêtes HTTP et des journaux de sortie.FiltrePrésentation de la classe.
Ce filtre de journal utilise « java.util.logging.Logger » pour la sortie du journal et vous pouvez modifier la sortie des informations en modifiant le niveau de journalisation.
Qu'est-ce que javax.servlet.Filter ?
Lors de la création d'une application Web, en plus du traitement métier principal, il est nécessaire d'effectuer un traitement secondaire commun avant et après le traitement métier principal.
Par exemple, l'authentification du client, la vérification des autorités, la journalisation, etc.
Le codage d'un tel traitement secondaire dans chaque ressource devient une cause majeure d'entrave à la maintenabilité du logiciel, ce qui se traduit par une application difficile à maintenir.
En implémentant javax.servlet.Filter, vous pouvez généralement effectuer ce traitement secondaire avant que la requête ne soit transmise à la classe servlet.
De plus, étant donné que les paramètres de filtre peuvent être définis dans web.xml, vous pouvez ajouter ou supprimer des filtres de manière flexible sans modifier le code source.
Essayez d'utiliser un filtre de journal
Utilisons en fait un filtre de journal pour filtrer les requêtes HTTP et les analyser.
Cette foisMatouNous utiliserons l’application d’exemples disponible dès le début.
Vous pouvez exécuter ce filtre immédiatement en définissant les paramètres suivants.
2. Placez le fichier de classe compilé sous "/examples/WEB-INF/classes".
3.Définissez la définition suivante dans web.xml.
Filtre de journal Filtre de journal journalisation.Niveau BIEN Filtre de journal /*
*Le modèle d'URL lors de l'utilisation du framework Struts est le suivant.
*.faire
Veuillez vérifier les résultats de sortie du journal lors de l'exécution de l'écran Exemple de sessions.
Informations du journal de sortie et niveau de journalisation
●Contenu de la sortie du journal
Informations du journal | niveau de journalisation |
---|---|
Informations sur les cookies | BIEN |
Informations sur l'en-tête HTTP | BIEN |
HTTPAutres informations | BIEN |
Paramètres de requête HTTP | CONFIGURATION |
objet de portée de la demande | CONFIGURATION |
objet de portée session | CONFIGURATION |
Utilisation de la mémoire avant et après les requêtes | CONFIGURATION |
Informations sur la transition d'écran | INFO |
Il est préférable d'utiliser les niveaux de journalisation comme suit.
- FINE : génère le journal le plus détaillé. Définissez ceci si vous souhaitez analyser la requête HTTP en détail.
- CONFIG... Produit un journal quelque peu détaillé. C'est une bonne idée de le maintenir à ce niveau pendant la période de développement.
- INFO : Émet uniquement les informations de transition d’écran.
●Comment modifier le niveau de journalisation
Vous pouvez modifier le niveau de sortie du journal en définissant le paramètre d'initialisation logging.Level.
exemple:
journalisation.Niveau INFO