C'est quelque chose que vous ne pouvez pas configurer dans web.xml car il ne fait pas partie de la norme. Pour Tomcat (testé sur la version 6.0.14), vous pouvez forcer les utilisateurs à index.jsp en ajoutant le code suivant en haut de votre login.jsp. Il redirige toutes les requêtes qui n'ont pas de paramètre portant le nom 'login' dans l'URL vers la page /index.jsp?login. Comme la redirection possède le paramètre 'login', la page de connexion sera présentée à l'utilisateur.
Ce n'est pas une solution sécurisée. Si quelqu'un demande une page et ajoute le paramètre de connexion, il sera redirigé. Alors:
/id = 1234 forain seront redirigés vers /index.jsp?login
/id = 1234 forain connexion ne sera pas rediriger vers /index.jsp?login
Le code?? va sur le dessus de votre login.jsp:
<%
if (request.getParameter("login") == null) {
response.sendRedirect(request.getContextPath() + "/index.jsp?login");
return;
}
%>
au lieu d'utiliser le paramètre « login », vous pouvez probablement utiliser un cookie. Vous pouvez le rendre plus sûr en créant une valeur aléatoire pour le paramètre de connexion (login = randomvalue) et stocker la valeur dans l'objet de session pour la comparaison.