(Notas compartilhadas) No artigo anterior, há um problema com a configuração do webdav criada no Tomcat, então aqui está um resumo

        Problema: Tentei várias vezes mapear o caminho virtual do webdav para outras pastas, mas sempre falhou.

        Para atingir o objetivo (o objetivo está no próximo parágrafo) antes da configuração: de acordo com o tutorial online, é necessário configurar a url web. webdav". Mas, na verdade, tentei várias vezes, só preciso pertencer ao nome de domínio para entrar na pasta raiz padrão ROOT na pasta do projeto.

        Objetivo: Remapear um caminho: caminho virtual (/webdav) caminho real (H:\webdav)

        Método específico: Adicione a tag Context à configuração do projeto em server.xml.

        O problema apareceu: (liguei a exibição do diretório) ele ignorou automaticamente a verificação e entrou diretamente em H:\webdav. (Parece apenas porque a função de diretório de arquivos está ativada)

        Analise os motivos:

                Pergunte ao Chatgpt, ele me diz que a tag Context adicionada em server.xml substituirá automaticamente a configuração web.xml em WEB-INF ao mapear o caminho virtual.

                Ou seja, se você usar o Context para criar um caminho virtual, todas as configurações anteriores do webdav serão inválidas (incluindo servlet, url mapeada para servlet, política de segurança e rolename para autenticação de login).

        Tentei resolver (embora falhou):

                Pergunte ao Chatgpt, ele oferece duas soluções

                       ①Escreva a configuração web.xml em WEB-INF do projeto em server.xml, ou seja, configure automaticamente ao chamar o caminho virtual da tag Context. Isso evita o problema de ser sobrescrito no web.xml configurado no projeto.

                        ②Importe a configuração do Contexto em server.xml para WEB-INF e exclua a tag Context em server.xml, o que também pode evitar que a configuração em web.xml seja substituída ao configurar o Contexto em server.xml.

        Resultado final: tentei usar os dois métodos, mas falhei sem exceção.

                        Entre eles, quando o primeiro método é usado (servlet, url mapeada para servlet, política de segurança e nome de função para autenticação de login) ainda não pode entrar em vigor e a pasta ainda é exibida diretamente.

                        Ao usar o método em ②, (se bem me lembro) um erro 404 será relatado.

        Resumindo: falhou. No final, configurei apenas o nome de domínio padrão: porta 4433, e acessei diretamente a pasta ROOT do projeto. (Neste ponto, de repente pensei que antes disso não havia configurado restrições de acesso, mas usei com sucesso o software Solid Explorer no Android para vincular ao webdav criado pelo Tomcat de forma anônima, então especulo que uma determinada configuração pode realmente permitir que os "servlets relacionados" do webdav tenham entrado em vigor, mas as restrições de acesso não tenham entrado em vigor), tente novamente quando tiver tempo.

        Conhecimento aprendido:

                Configurar web.xml em conf é uma configuração global, mas o peso do carregamento da configuração é menor que o de web.xml em WEB-INF dentro do projeto. Caso haja contradição entre os dois, a configuração em web.xml do WEB-INF terá efeito.

                A url configurada no Context irá sobrescrever a configuração da url correspondente ao web.xml do WEB-INF, e a configuração utilizada após a sobrescrição poderá ser configurada entre as tags <Context> e </Context>.

        

        

        

Acho que você gosta

Origin blog.csdn.net/qq_40099123/article/details/130788024
Recomendado
Clasificación