想把Tomcat的默认网站根目录修改成自己指定的目录,比如:/data/service/MyWeb。这样以后把自己写的index.jsp放到该目录下,就能通过http://localhost:8080/index.jsp来访问我的/data/service/MyWeb/index.jsp文件。

有两种方法:一、tomcat目录下的conf文件夹, server.xml中 

1、在<hosts>  ......</hosts>中间添加一行

<Context path="" docBase="/data/service/MyWeb" debug="0" unpackWARs="true" autoDeploy="true" privileged="true" reloadable="true" crossContext="true" />

重启Tomcat,OK。


  对上面语句做下解释:该句是设置Tomcat的虚拟路径,书写语法是<Context path="虚拟目录" docBase="实际目录" debug="0" reloadable="true" crossContext="true" />,我将网站实际根目录映射到了/data/service/MyWeb,于是更改了网站跟目录的映射。

Tomcat默认访问目录就是/data/service/MyWeb文件夹了。我在MyWeb文件夹下面上传了一个文本文件,可以直接访问其内容。

  这种修改方式的结果是:localhost依然是最初的webapps,但网站的根目录是/data/service/MyWeb,相当于把原始的ROOT目录映射成/data/service/MyWeb,以后写的网站直接放到/data/service/MyWeb 下。

  运行http://localhost:8080/index.jsp,就能访问了。而且,由于localhost的路径没变,所以Tomcat Manager可以继续使用。

二、增加Web部署文件
在conf/Catalina/localhost下增加
部署文件名随便,如ROOT.xml

文件内容如下:

<?xml version='1.0' encoding='utf-8'?>
<Context path="/" docBase="~/Web_Path" debug="0" privileged="true" reloadable="true"/>

path是应用在服务器上的虚拟路径,如果要配制成默认引用,则将path设为空就可以
注意,如果有重复的path出现,则在tomcat启动的时候会出现如下错误:
java.io.IOException: java.lang.IllegalStateException: Context path is already in use

docBase是应用的路径,如果应用是在tomcat的webapps目录下,则填相对路径,如果不是在webapps路径下,则填绝对路径。