I have this folder under Tomcat webapps/mysite
which is where all my JSPs and other things are located. To access this folder I go to http://blah.com/mysite and it works just fine. However (because of stylesheets and images statically connected to the root /
) I have to make it so that when I go to http://blah.com/ it will load the stuff inside webapps/mysite
.
I've tried many different things including contexts and setting the absolute path in server.xml
... nothing seems to work, whenever I go to http://blah.com/ it still tries to load the ROOT folder... what's happening here?
You can rename your war from something.war == to ==> ROOT.war.
So, tomcat will unpack the war and will create the folder ROOT for it.
It is a trick that is working on tomcat 8 also.
There are a number of ways to make an application the root application. The simplest way is to just replace the contents of webapps/ROOT with the contents of your web application.
For other solutions, please see the following website: http://wiki.apache.org/tomcat/HowTo#How_do_I_make_my_web_application_be_the_Tomcat_default_application_.3F
The solution I use is to set this in your Tomcat
server.xml
Add a
<Context>
element within the<Host>
like below which sets yourmysite
as the default web app. Note the emptypath=""
which makes it the default.See others who have had similar question and the similar answer here, here and here
See also Apache Tomcat Configuration Reference - Context
https://stackoverflow.com/users/1123501/george-siggouroglou 's awnser works but lacks a step.
Without the deletion, it may not work. Tested with docker.