今天在配置一个tomcat的时候,发现默认站点是以前的站点,现在想换个站点,结果去找conf/sever.xml看配置,一看蒙了,server.xml中存在着几十个<host> ,而第一个<host></host>特别长,所以忽视了第一个,结果改来改去,默认的站点还是不对。
后来仔细研究,才发现,原来所有的<host></host>都是并行的,而第一个<host>对应的站点就是默认站点。
<Host name=”localhost” debug=”0″ appBase=”webapps”
unpackWARs=”true” autoDeploy=”true”
xmlValidation=”false” xmlNamespaceAware=”false”>
<%
HashMap map = (HashMap)session.getAttribute(“map”);
map.put(“key”,”value”);
%>
<Logger className=”org.apache.catalina.logger.FileLogger”
directory=”logs” prefix=”localhost_log.” suffix=”.txt”
timestamp=”true”/>
<Context path=”" docBase=”ROOT” debug=”0″
reloadable=”true” crossContext=”true”>
</Context>
<Context path=”/cms” docBase=”cms” debug=”0″
reloadable=”true” crossContext=”true”>
<ResourceLink name=”jdbc/cmsPool” global=”jdbc/cmsPool”
type=”javax.sql.DataSource”/>
</Context>
</Host>
我的第一个<host>是这样的,运行的结果是:站点访问的默认站点是第一个<context></context>对应的站点,吼吼,原来如此,结果我把第一个<context>删除了,果然达到了我想要的结果,默认的站点是我想要访问的站点了。
<Host name=”localhost” debug=”0″ appBase=”webapps”
unpackWARs=”true” autoDeploy=”true”
xmlValidation=”false” xmlNamespaceAware=”false”>
<%
HashMap map = (HashMap)session.getAttribute(“map”);
map.put(“key”,”value”);
%>
<Logger className=”org.apache.catalina.logger.FileLogger”
directory=”logs” prefix=”localhost_log.” suffix=”.txt”
timestamp=”true”/>
<Context path=”" docBase=”/web/” debug=”0″
reloadable=”true” crossContext=”true”>
<ResourceLink name=”jdbc/cmsPool” global=”jdbc/cmsPool”
type=”javax.sql.DataSource”/>
</Context>
</Host>