(Notes partagées) Dans l'article précédent, il y avait un problème avec la configuration webdav créée dans tomcat, voici donc un résumé

        Problème : j'ai essayé plusieurs fois de mapper le chemin virtuel de webdav vers d'autres dossiers, mais cela a toujours échoué.

        Afin d'atteindre l'objectif (l'objectif est dans le paragraphe suivant) avant la configuration : selon le tutoriel en ligne, vous devez configurer l'url web. webdav". Mais en fait, j'ai essayé plusieurs fois, il suffit d'appartenir au nom de domaine pour entrer le dossier racine par défaut ROOT dans le dossier du projet.

        Objectif : Remapper un chemin : chemin virtuel (/webdav) chemin réel (H:\webdav)

        Méthode spécifique : Ajoutez la balise Context à la configuration du projet dans server.xml.

        Le problème est apparu : (j'ai allumé l'affichage du répertoire), il a automatiquement ignoré la vérification et est entré directement dans H:\webdav. (Cela semble uniquement parce que la fonction de répertoire de fichiers est activée)

        Analysez les raisons :

                Demandez à Chatgpt, cela me dit que la balise Context ajoutée dans server.xml remplacera automatiquement la configuration web.xml dans WEB-INF lors du mappage du chemin virtuel.

                Autrement dit, si vous utilisez Context pour créer un chemin virtuel, toutes les configurations précédentes de webdav seront invalides (y compris le servlet, l'URL mappée au servlet, la politique de sécurité et le nom de rôle pour l'authentification de connexion)

        J'ai essayé de résoudre (mais j'ai échoué) :

                Demandez à Chatgpt, il propose deux solutions

                       ①Écrivez la configuration web.xml sous WEB-INF dans le projet dans server.xml, c'est-à-dire configurez automatiquement lors de l'appel du chemin virtuel de la balise Context. Cela évite le problème d'écrasement dans le web.xml configuré dans le projet.

                        ②Importez la configuration de contexte dans server.xml dans WEB-INF et supprimez la balise de contexte dans server.xml, ce qui peut également empêcher l'écrasement de la configuration dans web.xml lors de la configuration de Context dans server.xml.

        Résultat final : j’ai essayé d’utiliser les deux méthodes, mais j’ai échoué sans exception.

                        Parmi eux, lorsque la première méthode est utilisée (servlet, URL mappée au servlet, politique de sécurité et nom de rôle pour l'authentification de connexion) ne peut toujours pas prendre effet et le dossier est toujours affiché directement.

                        Lorsque vous utilisez la méthode en ②, (si je me souviens bien), une erreur 404 sera signalée.

        Bref : raté. Au final, j'ai uniquement configuré le nom de domaine par défaut : le port 4433, et accédé directement au dossier ROOT du projet. (À ce stade, j'ai soudainement pensé qu'avant cela, je n'avais pas configuré de restrictions d'accès, mais j'avais utilisé avec succès le logiciel Solid Explorer sous Android pour créer un lien vers le webdav créé par Tomcat de manière anonyme, donc je suppose qu'un certain paramètre peut en fait autoriser webdav "Les servlets associés" ont pris effet, mais les restrictions d'accès n'ont pas pris effet), réessayez lorsque vous en aurez le temps.

        Connaissances acquises :

                La configuration de web.xml dans conf est une configuration globale, mais le poids de chargement de la configuration est inférieur à celui de web.xml dans WEB-INF à l'intérieur du projet. S'il y a une contradiction entre les deux, la configuration dans web.xml de WEB-INF prendra effet.

                L'url configurée dans Context écrasera la configuration de l'url correspondant au web.xml de WEB-INF, et la configuration utilisée après l'écrasement pourra être configurée entre les balises <Context> et </Context>.

        

        

        

Je suppose que tu aimes

Origine blog.csdn.net/qq_40099123/article/details/130788024
conseillé
Classement