如何修改Tomcat的默认应用的位置

来源:互联网 发布:mac mini 音频输出 编辑:程序博客网 时间:2024/05/01 06:01

如何修改Tomcat的默认应用的位置

    Tomcat启动后访问http://localhost:8080 访问的是 %TOMCAT_HOME%\webapps\ROOT目录。
    ROOT目录也是一个Web应用,只是太简单了。
    在%TOMCAT_HOME%\conf\server.xml中相关的配置如下:
            <Host name="localhost"  appBase="webapps"
                        unpackWARs="true" autoDeploy="true">
    注意这里的webapps指的是相对于tomcat安装目录的相对路径(如果要想用其它的外部目录则需要使用绝对路径)。既然这里指定了webapps,为何显示的是ROOT目录(或者称为Web应用更合适点)的内容呢。这主要是因为,指定的webapps目录是所有Web应用的最上层(这个目录下的每个子目录都对应于一个Web应用程序),如果不指定默认显示的Web应用程序的话,Tomcat自己会自动的找到ROOT的应用程序来显示。如果没有在webapps目录下ROOT目录的话,访问http://localhost:8080会出现什么情况呢 ?答案是:tomcat会给出404页面找不到的错误信息。
    可以做如下的实验:启动Tomcat后,将webapps下的ROOT改名,访问http://localhost:8080,然后在将ROOT目录改回来,再访问http://localhost:8080。
    知道了上面的内容,就可以开始进行配置了。在tomcat安装目录下创建myapps目录,在myapps目录下面创建ROOT目录,在ROOT目录下创建WEB-INF目录,在WEB-INF下创建文件web.xml(里面的内容可以自己参考系统其他的)。在ROOT目录下创建index.html 文件,内容任意。
在myapps目录下面创建test目录,在test目录下创建WEB-INF目录,在WEB-INF下创建文件web.xml(里面的内容可以自己参考系统其他的)。在ROOT目录下创建index.html 文件,内容任意。然后修改%TOMCAT_HOME%\conf\server.xml中相关的配置,将webapps改为myapps,重启tomcat后可以测试。访问http://localhost:8080/。如果希望服务http://localhost:8080  时默认显示test目录下的内容,需要在%TOMCAT_HOME%\conf\server.xml中的<HOST....></HOST>之间添加如下内容:
            <Context path="" docBase="example" debug="0" reloadable="true" />。重启Tomcat可以在测试一下。
 
需要强调的是http://localhost:8080/ROOT是无法访问,Tomcat对于ROOT是特殊对待的。