Informations
-
Demande d'amélioration
-
Résolution: Non résolu
-
Majeur
-
master, branche 6.7
-
Aucune
-
Aucune
-
K-Sup - 7.0 - Sprint Tickets
Description
Afin de retourner les ressources statiques de l'usine à site qui se trouvent dans le storage, une servlet particulière a été développée pour servir les fichiers de ce répertoire (en effet, le storage étant en dehors de la webapp, le tomcat ne peut pas directement retrouver la ressource via la DefaultServlet).
Outre le fait d'avoir du code inutile, la servlet effectue un reset de la réponse http (effaçant tout ce qui aurait pu être fait dans des pre-filter), et écrit le fichier directement dans la réponse.
Il existe deux moyens très simples de faire exactement la même chose en utilisant la DefaultServlet :
- Soit créer un lien symbolique uas dans la webapp vers le répertoire ${storage}/conf/site/uas (au démarrage de la webapp par exemple) et d'ajouter un fichier de context META-INF/context.xml avec le contenu suivant
<?xml version="1.0" encoding="UTF-8"?> <Context path="/"> <Resources allowLinking="true" /> </Context>
- soit d'ajouter un "point de montage dans le fichier context de la webapp :
<?xml version="1.0" encoding="UTF-8"?> <Context path="/"> <Resources> <PreResources base="<<CHEMIN_VERS_LE_STORAGE>>/conf/sites/uas" className="org.apache.catalina.webresources.DirResourceSet" webAppMount="/uas" /> </Resources>- </Context>
De cette manière, les ressources de l'UAS sont servie normalement par la DefaultServlet et bénéficie des filter que le ksup pourrait ajouter.