tomcat如何配置虚拟目录及虚拟主机

本文详细介绍了如何使用Eclipse进行servlet开发,包括项目目录结构解析、虚拟目录及虚拟主机配置方法。通过具体步骤指导如何配置Tomcat以实现不同Web应用的访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先说说如何用Eclipse来做servlet开发,那些project下面对应的目录到底是什么

1.创建web project(比方说project名字为Test)
会出现src文件,运行环境的jar包,WebRoot文件
jar包我们就不说了,主要看src和WebRoot
src我们都知道是放源程序的,创建的servlet程序都放在这个里面
WebRoot这个文件有什么用呢?其实很好理解
当我们写好一个动态Web资源,启动Tomcat服务器时,此时Tomcat已经和这个
project关联,Eclipse会自动将这个工程的Web资源发送到Tomcat的映射目录中去
整个Web应用的目录就是project的名字即Test,然后就是WebRoot中的内容了

一个servlet程序就是一个(必须)实现了特殊接口(即Servlet接口)的Java类,它由支持Servlet
的Web服务器调用和启动运行(我们常用的Tomcat就支持Servlet),一个Servlet程序负责
处理它所对应的一个或一组URL的访问请求,并用于接收客户端发出的访问请求信息和产生
响应内容

在Java SE基础里,我们学过Applet,它是用于浏览器端的Java小程序,在浏览器端被解释执行,
其实浏览器也就是我们所说的客户端
而Servlet是用于Web服务器端的Java小程序,它在Web服务器端被解释执行,用于处理客户端的请求
和产生动态网页内容

虚拟目录
D:\163\mail.html


1.当把其他磁盘的目录映射成虚拟目录时,我们可以在Tomcat服务器的conf下的tatalina文件夹下
的localhost下建立一个xml文件,文件名就是虚拟目录的名字(163.xml),内容为
<Contex docBase="c:\mail"/> 里面的路径即为Web应用的路径
这种情况是访问Web应用下的静态资源,并且不能有WEB-INF目录,不然启动Tomcat会出错
我也不知道,试验过很多次总出错,原来是WEB-INF的原因
URL:http://localhost:8080/163/mail.html
其中163即为映射的虚拟目录(通常我们都会把虚拟目录的名字和磁盘上的Web应用的目录名保持一致)

需要说明一下:第一种方式映射虚拟目录不是说不要WEB-INF文件夹吗?
但刚刚我又试了一次结果又可以了,不知道怎么回事

2.上述的方法是比较常用的方法

在Tmocat 6.0版本以前通常是另外一种配置方法
在conf文件夹下的server.xml文件中配置
 在<Host>标签中配置<Contex path="163" docBase="c:\mail"/>
其中path是就是虚拟目录,这种方式可以存在WEB-INF文件夹

目前常用的方法都是用第一种方式,当然第二种方式我们也必须了解

在看第一种方式,如何直接访问http://localhost:8080/mail.html
我们只需要将163.xml文件的名字换成ROOT.xml即可(注意是大写)
这里又要注意了
改名之后http://localhost:8080 访问不了了

那么咱们现在输入http://localhost:8080 这个URL的时候就是访问mail.html
这个如何配置呢?
这个就需要针对咱们的Web资源来配置了
刚刚咱们讲的都是如何来映射虚拟目录吧
下面就说说如何配置Web资源

在WEB-INF目录下创建一个配置文件web.xml
然后再这个文件中修改


在Tmocat里conf中有一个web.xml文件,咱们可以借鉴一下

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
   
这个就是修改首页的,把第一个index.html换成mail.html
完成后咱们在访问http://localhost:8080 就是访问的mail.html的内容了
前面的ROOT.xml文件要保留才有效哦

总结一下上面讲的:
如何配置虚拟目录


 1.在Tomcat里的conf中的catlina下的localhost里创建一个配置文件,文件名就是虚拟目录
 比如163.xml,然后写入<Context docBase="d:\163">,这个目录就是Web应用的那个路径
 现在虚拟目录就映射成功了
 http://localhost:8080/163/mail.html
 
 2.如何访问缺省的web资源
 在第一步的基础上将163.xml文件名改成ROOT.xml就行了
 http://localhost:8080/mail.html
 
 3.如何将缺省的web资源设置成首页
 在前2步的基础上继续操作,在Web应用目录下创建WEB-INF文件夹,在里面写入web.xml配置文件
 然后将首页的信息修改成mail.html即可
 http://localhost:8080/ 访问的就是mail.html
 
 上面讲的就是如何映射虚拟目录
 
 下面来说说如何配置虚拟主机


 1.首先我们要创建一个虚拟主机,比如主机名为:www.163.com
 然后在磁盘上创建这个主机的Web应用目录,里面放置主机需要的Web资源
 
 2.在Tomcat/conf/server.xml里配置虚拟主机的信息
 其实打开server.xml,我们发现Tomcat已经为我们配置好了一个虚拟主机了,这个是默认的,如下:
 
 <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
           
这段内容写的是;主机名localhost,映射的虚拟目录就是安装目录的webapps文件夹

这样,我们照葫芦画瓢,也同样来配置www.163.com 主机
<Host name="www.163.com " appBase="F:WebResource\163">
</Host>
appBase的配置就是制定磁盘上的哪个路径为虚拟目录

下面来说一下咱们是如何访问服务器的

1.一台服务器下可以挂多台主机,我们访问一个网址www.163.com ,这个其实是一个虚拟主机名
当我们连接主机时,浏览器首先会去访问这个dns服务器,通过dns服务器来解析主机名,这样会得到
一个ip地址,这个ip地址就是服务器在网络上的地址,然后我们通过这个ip地址连带着主机名去访问服务器
当服务器接收到request时,服务器发现携带过来的主机,就会去访问虚拟主机对应的web资源

2.如果dns服务器挂掉了,咱们就可以通过ip地址直接访问服务器,当然服务器都有默认的虚拟主机,咱们访问
的就是那个默认的,其实我们也可以在Tomcat里来修改这个默认的虚拟主机

 <Engine name="Catalina" defaultHost="localhost">
 
 defaultHost属性就是用来修改默认虚拟主机的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值