En règle générale, Tomcat enverra la requête à l'instance DispatcherServlet appropriée, telle que configurée dans votre fichier "web.xml". Ceci est décrit dans le Spring documentation.
Devrait-il passer tous les filtres en premier?
Oui. Les filtres sont appliqués avant (et après) les demandes sont passées au Servlet. Et après avoir tapé l'URL, il est toujours dirigé vers un autre lien comme http://localhost:8080/test/login, où cette redirection a-t-elle été implémentée?
Cela dépend de la manière dont vous avez implémenté la sécurité. Cela pourrait être fait au niveau de Tomcat (je pense), en utilisant SpringSecurity, ou une logique câblée dans votre contrôleur Spring MVC, ou dans une simple servlet, filtre ou valve (spécifique à Tomcat).
Si vous recherchez des conseils sur la meilleure façon d'implémenter la connexion/sécurité, je vous recommande d'utiliser SpringSecurity. SpringSecurity fonctionne à l'aide de filtres.
S'il est difficile de m'expliquer, alors recommandez-moi un livre pour cela, merci beaucoup!
La documentation en ligne Spring et SpringSecurity est aussi bon endroit que tout. Cette documentation a tendance à ne pas décrire exactement comment les demandes sont traitées dans le contexte d'un conteneur Web particulier, mais vous devriez être capable de comprendre les détails à partir des documents Tomcat et de la spécification Servlet.
Où est le code que DispatcherServlet va faire avant de rediriger vers/test/login? – MemoryLeak
Comme je l'ai dit, cela dépend de la manière dont vous avez implémenté votre sécurité. Il peut s'agir de vannes ou de filtres, ou du code du contrôleur que DispatcherServlet appelle. –