Tomcat 中如何给 web 项目配置虚拟目录的方法
为什么要给 web 项目配置虚拟目录?
初学 javaweb 时,会发现只要我们把 web 项目放到 tomcat 的 webapps 目录下,再通过 http://localhost:8080/项目名称/某个页面 就可以访问该网站了。可是这样并不符合规范,最好还是把 web 项目文件和 tomcat 的安装文件分开。那如何实现这个要求呢?当然是给 web 项目配置虚拟目录啦。
如何给 web 项目配置虚拟目录?
前面已经说了,我们要把项目文件和 tomcat 安装文件分离开。假设我们这里把 test 项目放在 d 盘的根目录下。配置虚拟目录的方法官方提供了五种,这里只介绍两种。
方法一
在 conf 目录下的 server.xml 文件的 host 标签下添加 context 标签<context path="/test" docbase="d:\test"/>,改完后的如下所示,这样只需要在地址栏输入:http://localhost:8080/test/index.html 就可以访问 test 项目的 index 页面了。但是这种方式的缺点是需要重启服务器才能生效。
<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" /> --> <context path="/test" docbase="d:\test"/> <!-- 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" /> </host>
方法二
在 conf\catalina\localhost 目录下新建一个名为 test1 的 xml 文件,内容写上<context docbase="d:\test1"/> 就可以了。这种方法可以不用重启 tomcat ,就能立即生效。在地址栏输入:http://localhost:8080/test1/index.html 就可以访问 web 项目的 index.html 文件了。虚拟目录的路径名可以任意,并不一定要和项目名称相同。
为什么这两种方法都是通过修改这种 xml 文件就起作用了呢?这是因为 tomcat 程序将这种需要改变的内容写在 xml 配置文件中,然后在程序运行的时候来寻找这种信息,以达到不用修改程序源码就能够改变程序运行的目的。以后的学习中经常会遇到配置文件的哦!
如何将网站进行云部署,能够让别人也能访问这个网站呢?
现在你已经购买了云服务器和域名,并做好了解析。你想要通过你的域名访问你的网站,该怎么做呢?
你需要在 server.xml 文件的 <engine>标签下新建一个<host>标签,内容如下:
<host name="www.jb51.net" appbase="webapps" unpackwars="true" autodeploy="true"> <context path="" docbase="d:\test"/> </host>
再将 server.xml 中的第一个<connector>标签改为如下所示,也就是把 8080 端口改为 80
<connector port="80" protocol="http/1.1" connectiontimeout="20000" redirectport="8443" />
总结一下,就是新建了一个主机(host) ,主机名为 ,因为 http 协议默认采用 80 端口,所以不用指定端口号了,在不给出任何路径时,就默认访问 d 盘下的 test 项目,至于该访问 test 项目的那个页面这还需要指定。
一般是需要在对应 web 项目的 web.xml 文件中添加如下代码,就会默认访问 index.html 的页面,但是 tomcat 的 web.xml 文件已经写好了,所以并不需要另外指定。
<welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list>
原来需要通过项目名/首页名访问首页的,现在只需要通过 就能访问了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: tomcat虚拟路径的配置方法汇总