Vous devez JAMAIS mettre un JS dans WEB-INF.
Comme indiqué dans les spécifications de servlet, tout ce que vous mettez dans le répertoire WEB-INF ne sera jamais directement accessible au monde extérieur. Seules les ressources d'application locales s'y rendent.
Donc, si vous voulez un fichier JS accessible de l'extérieur, placez-le directement sur WAR ROOT. Quelque chose comme ceci:
foo.war
-->/js/
-->bar.js
-->/WEB-INF
-->internal resources here
L'URL pour accéder JS sera quelque chose comme:
http://YOUR_IP:8080/foo/js/bar.js
Bien sûr, peut varier en fonction de la façon dont vous configurez votre déploiement de guerre sur votre serveur d'applications.
Vous ne cependant mis JSP fichiers dans WEB-INF, pour les appeler de servlets (vous ne pouvez pas y accéder directement non plus) avec quelque chose comme:
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("WEB-INF/index.jsp");
Cette est une pratique courante si vous ne voulez pas que les gens accèdent directement à vos fichiers JSP de l'extérieur.
Merci. J'ai dû mal interprété un lien sur l'emballage en utilisant maven-war-plugin. – Steven