Como definir o caminho de contexto de um aplicativo da Web no Tomcat 7.0

Eu sei que eu posso renomear minha webapp (ou é arquivo WAR) para ROOT, mas esta é uma maneira terrível de fazê-lo, IMHO. Agora eu verifiquei o tomcat doc & diz

NÃO é recomendado colocar elementos diretamente no arquivo server.xml

Então tentei fazer outro método que ele sugeriu.

Elementos de Contexto Individual podem ser explicitamente definidos: Em um arquivo individual em /META-INF/context.xml dentro dos arquivos do aplicativo.

Então criei um /META-INF/context.xml com o seguinte código,

   

Mas depois de implantar quando reiniciei o servidor, ele ainda não conseguiu carregar o contexto em “/”, ele ainda o carregou com o "/"

Quaisquer pointers úteis.

O que você pode fazer é o seguinte;

Adicione um arquivo chamado ROOT.xml em /conf/Catalina/localhost/

Esse ROOT.xml replaceá as configurações padrão do contexto raiz da instalação do tomcat para esse mecanismo e host (Catalina e localhost).

Digite o seguinte no arquivo ROOT.xml;

  

Aqui, é o nome do seu aplicativo .. 🙂

E lá vai você, seu aplicativo agora é o aplicativo padrão e será exibido em http://localhost:8080

No entanto, há um efeito colateral; seu aplicativo será carregado duas vezes. Uma vez para localhost:8080 e uma vez para localhost:8080/yourApp . Para corrigir isso, você pode colocar seu aplicativo OUTSIDE /webapps e usar um caminho relativo ou absoluto na tag docBase do ROOT.xml. Algo assim;

  

E então deve estar tudo bem!

Aqui segue as únicas soluções que funcionaram para mim. Adicione isto ao nó Host no conf / server.xml

   WEB-INF/web.xml  

vá para o arquivo server.xml do Tomcat e defina o caminho em branco

Este pequeno código funcionou para mim, usando hosts virtuais

    

No Tomcat 9.0, só preciso alterar o seguinte no server.xml

  

para

  

Mais rápido e pode ser a melhor solução é ter conteúdo abaixo em /conf/Catalina/localhost/ROOT.xml

  

E seu webapp estará disponível em http://:/

Eu enfrentei esse problema por um mês, Colocar a tag de contexto dentro de server.xml não é seguro afetar elementos de contexto implantando para todos os outros hosts, para grandes aplicativos ele leva erros de conexão também não é bom isolamento por exemplo você pode acessar outros sites por nome de pasta domain2 .com / domain1Folder !! também conexões de session de database carregadas duas vezes! a outra maneira é colocar o arquivo ROOT.xml que tem uma tag de contexto com o caminho completo, como:

   

em conf / catalina / webappsfoldername e implantar arquivo war como ROOT.war dentro de webappsfoldername e também especificar host como

     

Nesta abordagem também para o mesmo tipo de aplicativos, as sessões do usuário não têm um bom isolamento! você pode dentro app1 se app1 mesmo que app2 você pode após o login pela session do lado do servidor automaticamente pode entrar para app2! Então você tem que manter a session de usuários no cache do lado do cliente e não com o jsessionid! podemos mudar o nome do motor do localhost para resolvê-lo. mas digamos que brincar com o gato precisa de mais tempo do que brincar com outros gatos!

vá para o arquivo server.xml do Tomcat e defina o caminho em branco

Tomcat 8: Depois de muitas pesquisas, este é apenas o código de trabalho: no server.xml

     WEB-INF/web.xml   

Reinicie o Tomcat, certifique-se de que quando você acessar 127.0.0.1:8080, ele exibirá o conteúdo em 127.0.0.1:8080/apple

Meu projeto era java web application application criado pelo netbeans, configurei path de contexto na configuração do projeto, nada mais, até coloquei o apple.war na pasta webapps.

Não é recomendado atualizar a configuração do servidor, como server.xml ou ROOT.xml.

Você pode colocar um arquivo de configuração context.xml no diretório META-INF do aplicativo da web, com a configuração do caminho de contexto incluída. Isso replaceá a configuração do servidor padrão?

ie:

  

Para mim, as duas respostas funcionaram.

  1. Adicionando um arquivo chamado ROOT.xml em / conf / Catalina / localhost /
  
  1. Adicionando input no server.xml
      WEB-INF/web.xml     

Nota: quando você declara o docBase sob o contexto então ignore o appBase no host.

  1. No entanto, eu preferi converter meu nome de guerra como ROOT.war e colocá-lo sob webapps. Então, agora, solicitações de URL incomparáveis ​​de outras guerras (caminhos de contexto) entrarão nessa guerra. Esta é a melhor maneira de lidar com o caminho de contexto ROOT (“/ **”).

A segunda opção é (duplo) carregar as guerras da pasta Webapps também. Também só precisa de pasta de guerra descompactada que é uma dor de cabeça.

O truque abaixo funcionou para mim.

1) Comente / apague a configuração abaixo do arquivo server.xml (dentro da pasta conf) do tomcat.

2) Exclua a pasta ROOT existente (se houver) que reside dentro da pasta webapps do tomcat. E renomeie seu arquivo de guerra (por exemplo: test.war) para ROOT.war.

Lembre-se de que, ao renomear o arquivo war para ROOT.war, “ROOT” deve estar em maiúsculas.

Limitação: você pode implantar apenas um aplicativo em uma instância do tomcat.

    Intereting Posts