一 点睛
在Tomcat中,有个虚拟目录的概念,它是为了更方便的管理项目。
我们在浏览器地址栏中输入想要访问的某个网站的路径,其实并不是服务器真正的路径,而是通过映射关系,对应服务器的某个具体文件夹。
例如:http://localhost:8080/webdemo,其中,webdomo可视为HTTP服务器下的子文件夹。在服务器中有个与之对应的绝对路径,这就是创建虚拟目录。
假设:D:\Program\Tomcat 8.5\webapps\WebDomo 这个文件夹存放了服务器的所有文件。
为了便于管理,每个Web项目都需要有一个配置文件web.xml与之对应,这个默认配置文件在D:\Program\Tomcat 8.5\webapps\ROOT\WEB-INF中。
二 步骤
1 把整个WEB-INF文件夹拷贝到WebDomo目录下
2 修改Tomcat安装目录/conf/server.xml
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<!--下面这一行为添加-->
<Context path="/webdemo" docBase="D:\Program\Tomcat8\webapps\WebDemo"/>
</Host>
path:用于指定Web应用的虚拟路径。
docBase:用于指定该虚拟路径,所映射到的本地文件系统目录,可以使用绝对路径,或者相对于<Tomcat安装目录>/webapps的相对路径。
3 修改/conf/web.xml
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value> <!-- 这一行为添加-->
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
4 重启Tomcat
5 测试