设为首页 收藏本站
查看: 257|回复: 0

[经验分享] tomcat如何配置虚拟目录及虚拟主机

[复制链接]

尚未签到

发表于 2017-2-4 13:30:02 | 显示全部楼层 |阅读模式
  先说说如何用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属性就是用来修改默认虚拟主机的

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-337484-1-1.html 上篇帖子: Tomcat的配置文件server.xml详细说明 下篇帖子: 如何在tomcat重启时删除特定用户的session
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表