tomcat服务器深入理解分析下篇

上篇我们说到Tomcat服务启动起来了,是的,我猜得没错,那就是启动文件。

然后我们回到上级目录




说完bin 是tomcat的启动配置, conf是tomcat服务器的配置
里面很多配置文件,这个在项目开发中可是重点。
说到这里,不得不说一下,Tomcat中 web应用映射虚拟的问题。
服务器中有个webapps和wtpwebapp目录,只要我们把我们写好的web应用放到此文件夹,服务器会自动加载web应用。
  • 但是我们的web应用必须满足:web应用文件夹下有WEB-INF 文件夹 ,WEB-INF文件夹下要放classes文件夹和lib文件夹,classes就是放置java生成的class文件的,而lib文件夹就是放置已经打包好的jar文件的。已经打包的jar文件为什么要和java生成的class分开放呢?看一下JAR文件的作用就好了。
当我们把文件夹放webapp以后,还不行,还需要配置虚拟目录映射,也就是浏览器访问的应用的路径,Context就是指的web应用。这个配置在哪里呢?

有很多方案:tomcat服务器主页的Context配置上有说明:

其中有句话:
     It is NOT recommended to place <Context> elements directly in the server.xml file.
不建议放到server.xml中,因为修改了Context 不重启Tomcat不能自动加载web应用。我们的服务器是要一直运行,等待外界访问的,要是修改了就要重启,当然不好了。所以不放到里面。
    然后继续分析:
    $CATALINA_BASE 指的是服务器路径。
  • In the $CATALINA_BASE/conf/context.xml file: the Context element information will be loaded by all web applications.
    这个厉害了,loaded by all web application配置的信息被所用应用所共享。。。所以,也别配置

  • In an individual file at /META-INF/context.xml inside the application files. Optionally (based on the Host's copyXML attribute) this may be copied to $CATALINA_BASE/conf/[enginename]/[hostname]/ and renamed to application's base file name plus a ".xml" extension.
META-INF/context.xml 这是web应用的文件夹,这个好,会复制到/引擎or主机/conf/下。而且应用的访问路径会变成.xml文件的名字。如果在主机or主机文件夹里配置一个ROOT.xml 这就会变成这个服务器缺省的web应用。如果在访问的时候,不指定web应用,直接访问页面资源,就会默认这个web应用。配置好后需要重新启动服务器。 这中在主机里配置的方法就是最好的,不用重启服务器。
  • In the $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml.default file: the Context element information will be loaded by all web applications of that host.
主机or引擎下的web应用会被主机下的所有应用加载。不建议的
  • In individual files (with a ".xml" extension) in the $CATALINA_BASE/conf/[enginename]/[hostname]/ directory. The context path and version will be derived from the base name of the file (the file name less the .xml extension). This file will always take precedence over any context.xml file packaged in the web application's META-INF directory.
在这个 主机or引擎任意建立一个xml文件,这个文件名就会成为web应用所映射过来的文件名。
这就是Contex
<Context docBase="G:\apache-tomcat-7.0.54\wtpwebapps\homework6" path="/homework6" reloadable="true" source="org.eclipse.jst.jee.server:homework6"/>
path就是访问路径 
reloadable=true 在修改了web应用中的classes和web.xml会自动重启tomcat.

实际开发中,我们写好的web应用可以直接丢到webapp目录中,就可以供外界访问了。
但是写好部署发布的时候,服务器一般装在主机的C盘的,我们的应用一般放在D盘,所以必须要那种方式。
conf中还有很多文件,暂时不说了。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值