Eu sei que posso renomear meu webapp (ou arquivo WAR) para ROOT, mas essa é uma maneira terrível de fazê-lo, IMHO. Agora eu verifiquei o documento do tomcat e ele diz
NÃO é recomendado colocar elementos diretamente no arquivo server.xml
Então, tentei fazer outro método sugerido.
Os elementos de contexto individual podem ser definidos explicitamente: Em um arquivo individual em /META-INF/context.xml, dentro dos arquivos do aplicativo.
Então eu criei um /META-INF/context.xml
com o seguinte código,
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/"/>
Porém, após a implantação, quando reiniciei o servidor, ele ainda não carregava o contexto em "/", ainda carregava o "/<WEB_APP_NAME>"
Qualquer ponteiro útil.
tomcat
tomcat7
root
context.xml
Chantz
fonte
fonte
Respostas:
O que você pode fazer é o seguinte;
Adicionar um arquivo chamado
ROOT.xml
no<catalina_home>/conf/Catalina/localhost/
Esse ROOT.xml substituirá 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
<yourApp>
está o nome do seu aplicativo .. :)E aí está, 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
localhost:8080
vez por uma vezlocalhost:8080/yourApp
. Para corrigir isso, você pode colocar seu aplicativo FORA<catalina_home>/webapps
DO LADO e usar um caminho relativo ou absoluto na tag docBase do ROOT.xml. Algo assim;E então deve ficar tudo bem!
fonte
Aqui segue as únicas soluções que funcionaram para mim. Inclua isso no nó Host no arquivo conf / server.xml
fonte
server.xml
oucontext.xml
? i ver uma marca XML<Context>
no meucontext.xml
No Tomcat 9.0, preciso alterar apenas o seguinte no
server.xml
para
fonte
Este pequeno código funcionou para mim, usando hosts virtuais
fonte
server.xml
? De acordo com, por exemplo, Ali.Mojtehedy acima, isso é problemático. Além disso, outras respostas afirmam que/path/to
precisam estar fora do caminho normal dos aplicativos da web.A solução mais rápida e pode ser a melhor solução é ter o conteúdo abaixo em
<TOMCAT_INSTALL_DIR>/conf/Catalina/localhost/ROOT.xml
E seu webapp estará disponível em
http://<host>:<port>/
fonte
Foobar
em/opt/tomcat/webapps/Foobar
. Tentei definir o docBase comoFoobar
e também/opt/tomcat/webapps/Foobar
, mas quando vou para `http: // <host>: <port> / ainda vejo a página inicial do Tomcat em vez do meu aplicativo Foobar. Eu até reiniciei o Tomcat. O que estou fazendo de errado?Eu enfrentei esse problema por um mês: Colocar a tag de contexto dentro do server.xml não é seguro, ele afeta os elementos de contexto que estão sendo implantados em todos os outros hosts; para aplicativos grandes, são necessários erros de conexão e também não é um bom isolamento. Por exemplo, você pode acessar outros sites por nome de pasta domain2 .com / domain1Folder !! também conexões de sessão de banco de dados carregadas duas vezes! a outra maneira é colocar o arquivo ROOT.xml que possui uma tag de contexto com o caminho completo, como:
em conf / catalina / webappsfoldername e implemente o arquivo war como ROOT.war dentro do webappsfoldername e também especifique host como
Nesta abordagem também para aplicativos do mesmo tipo, as sessões de usuário não têm um bom isolamento! você pode entrar no app1 se app1 igual ao app2, após o login pela sessão do servidor automaticamente pode acessar o app2 ?! Portanto, você deve manter a sessão dos usuários no cache do lado do cliente e não com o jsessionid! podemos mudar o nome do mecanismo de localhost para resolvê-lo. mas digamos que brincar com o tomcat precise de mais tempo do que brincar com outros gatos!
fonte
Não é recomendável 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 substituirá a configuração padrão do servidor?
ou seja:
fonte
<Context docBase="yourAppName" path="" reloadable="true">
fonte
Tomcat 8: Após muitas pesquisas, este é apenas um código que funciona: em server.xml
Reinicie o Tomcat, verifique se, ao acessar 127.0.0.1:8080, ele exibirá o conteúdo em 127.0.0.1:8080/apple
Meu projeto foi o aplicativo Java da Web, criado pelo netbeans, defini o caminho de contexto na configuração do projeto, nada mais, até coloquei apple.war na pasta webapps.
fonte
Para mim, as duas respostas funcionaram.
Nota: quando você declara o docBase no contexto, ignora o appBase no Host.
ROOT.war
e colocá-lo em webapps. Portanto, agora, solicitações de URL inigualáveis de outras guerras (caminhos de contexto) serão direcionadas para essa guerra. Essa é a melhor maneira de lidar com o caminho de contexto ROOT ("/ **").A segunda opção é (dupla) carregar as guerras da pasta Webapps também. Além disso, ele só precisa de uma pasta de guerra não compactada, o que é uma dor de cabeça.
fonte
No Tomcat 8.X, no diretório inicial do tomcat / conf / folder em server.xml, você pode adicionar
<Context>
tag sob<Host>
tag, como mostrado abaixo. Mas você precisa reiniciar o servidor para entrar em vigorOU se você estiver usando o Tomcat 7.X, poderá adicionar o arquivo context.xml na pasta WEB-INF no seu projeto. O conteúdo do arquivo que usei é como mostrado. e funcionou bem para mim. você não precisa reiniciar o servidor nesse caso.
fonte
localhost:8080/<Your App Directory Name>/
elocalhost:8080/<your app path you wish>/
esses dois URLs funcionam ao mesmo tempo. Encontradas essas duas pastas extraídas em$CATALINA_HOME/webapps/
.A solução mais simples e flexível está abaixo: Por dentro de $ {Tomcat_home} /config/server.xml
Altere o autoDeploy = "false" deployOnStartup = "false" no elemento Host , como abaixo .
Adicione abaixo da linha no elemento Host .
Com a abordagem acima, podemos adicionar tantos aplicativos em aplicativos da web com nomes de caminhos de contexto diferentes.
fonte
O truque abaixo funcionou para mim.
1) Comente / exclua a configuração abaixo do arquivo server.xml (dentro da pasta conf) do tomcat.
2) Exclua a pasta ROOT existente (se houver) que reside na pasta tomcat webapps. E renomeie seu arquivo war (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.
fonte