想把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路径下,则填绝对路径。