(Gemeinsame Notizen) Im vorherigen Artikel gab es ein Problem mit der in Tomcat erstellten WebDav-Konfiguration, daher hier eine Zusammenfassung

        Problem: Ich habe viele Male versucht, den virtuellen Pfad von webdav anderen Ordnern zuzuordnen, aber es ist immer fehlgeschlagen.

        Um das Ziel zu erreichen (das Ziel finden Sie im nächsten Absatz), müssen Sie vor der Konfiguration gemäß dem Online-Tutorial die URL „web.webdav“ konfigurieren. Tatsächlich habe ich es jedoch viele Male versucht. Es reicht aus, den Standardstammordner ROOT im Projektordner einzugeben, indem ich zum Domänennamen gehöre.

        Ziel: Einen Pfad neu zuordnen: virtueller Pfad (/webdav) tatsächlicher Pfad (H:\webdav)

        Spezifische Methode: Fügen Sie das Context-Tag zur Projektkonfiguration in server.xml hinzu.

        Das Problem trat auf: (Ich habe die Verzeichnisanzeige eingeschaltet) Die Überprüfung wurde automatisch übersprungen und direkt H:\webdav eingegeben. (Es scheint nur, weil die Dateiverzeichnisfunktion aktiviert ist)

        Analysieren Sie die Gründe:

                Fragen Sie Chatgpt, es sagt mir, dass das in server.xml hinzugefügte Context-Tag automatisch die web.xml-Konfiguration in WEB-INF überschreibt, wenn der virtuelle Pfad zugeordnet wird.

                Das heißt, wenn Sie Context verwenden, um einen virtuellen Pfad zu erstellen, sind alle vorherigen Konfigurationen von webdav ungültig (einschließlich Servlet, dem Servlet zugeordnete URL, Sicherheitsrichtlinie und Rollenname für die Anmeldeauthentifizierung).

        Versucht zu lösen (aber gescheitert):

                Fragen Sie Chatgpt, es bietet zwei Lösungen

                       ①Schreiben Sie die web.xml-Konfiguration unter WEB-INF im Projekt in server.xml, dh konfigurieren Sie sie automatisch, wenn Sie den virtuellen Pfad des Kontext-Tags aufrufen. Dadurch wird das Problem des Überschreibens in der im Projekt konfigurierten web.xml vermieden.

                        ②Importieren Sie die Kontextkonfiguration in server.xml in WEB-INF und löschen Sie das Kontext-Tag in server.xml. Dadurch kann auch verhindert werden, dass die Konfiguration in web.xml beim Konfigurieren von Kontext in server.xml überschrieben wird.

        Endergebnis: Ich habe es mit beiden Methoden versucht, bin aber ausnahmslos gescheitert.

                        Wenn unter anderem die erste Methode verwendet wird (Servlet, dem Servlet zugeordnete URL, Sicherheitsrichtlinie und Rollenname für die Anmeldeauthentifizierung), kann sie immer noch nicht wirksam werden und der Ordner wird weiterhin direkt angezeigt.

                        Wenn ich die Methode in ② verwende, wird (wenn ich mich richtig erinnere) ein Fehler 404 gemeldet.

        Kurz gesagt: gescheitert. Am Ende habe ich nur den Standarddomänennamen konfiguriert: Port 4433 und direkt auf den ROOT-Ordner im Projekt zugegriffen. (Zu diesem Zeitpunkt dachte ich plötzlich, dass ich zuvor keine Zugriffsbeschränkungen konfiguriert hatte, sondern die Solid Explorer-Software in Android erfolgreich verwendet hatte, um auf anonyme Weise eine Verknüpfung zu dem von Tomcat erstellten WebDAV herzustellen. Daher spekuliere ich, dass eine bestimmte Einstellung tatsächlich möglich ist webdav zulassen „Zugehörige Servlets“ sind wirksam geworden, aber Zugriffsbeschränkungen sind nicht wirksam geworden. Versuchen Sie es erneut, wenn Sie Zeit haben.

        Gelerntes Wissen:

                Das Konfigurieren von web.xml in conf ist eine globale Konfiguration, aber das Gewicht der Ladekonfiguration ist geringer als das von web.xml in WEB-INF innerhalb des Projekts. Wenn zwischen beiden ein Widerspruch besteht, wird die Konfiguration in web.xml von WEB-INF wirksam.

                Die im Kontext konfigurierte URL überschreibt die URL-Konfiguration, die der web.xml von WEB-INF entspricht, und die nach dem Überschreiben verwendete Konfiguration kann zwischen den Tags <Context> und </Context> konfiguriert werden.

        

        

        

Ich denke du magst

Origin blog.csdn.net/qq_40099123/article/details/130788024
Empfohlen
Rangfolge