2010-03-17 4 views

Répondre

3

Tout en WEB-INF ne peut pas être servi directement en tant que contenu Web; il ne peut être accédé que par une logique s'exécutant côté serveur, comme une servlet ou une JSP.

+0

Attention cependant lors de la mise en avant du conteneur Web (par exemple tomcat) avec un serveur Web (par exemple apache), car les fichiers statiques peuvent être servis directement. – cherouvim

2

simplement le mettre dans WEB-INF/classes

+3

Ne doit pas être spécifiquement dans les 'classes'. Il peut être placé n'importe où dans "WEB-INF". –

+2

Mettre dans classpath facilite grandement l'accès. Juste 'classLoader.getResource (" fichier.ext ")' suffirait. Pas besoin de tracas avec les chemins de système de fichiers relatifs/absolus et les problèmes potentiels de portabilité/maintenabilité. * Juste * mettez-le où vous voulez dans le classpath ('WEB-INF/classes',' WEB-INF/lib', un dossier classpath partagé tel que défini dans la configuration du serveur, etc..etc ..) et ne pensez pas à ce sujet plus loin. C'est la seule bonne réponse. +1 – BalusC

2

dans votre web.xml filtrer les types de fichiers que vous ne voulez pas être visible

MISE À JOUR
réponse @skaffman est suffisant pour ce cas, mais pour un filtrage plus complexe utilisez:

<security-constraint> 
      <web-resource-collection> 
        <web-resource-name>Private Area</web-resource-name> 
        <url-pattern>/private/*</url-pattern> 
      </web-resource-collection> 
    </security-constraint> 
Questions connexes