tomcat中Context的path和docBase属性

首先,我来做一有趣的实验:

第一步:我在E盘建立了一个picture文件包,里面放一张图片(cat.png)

第二步:我修改tomcatservice.xml配置,添加如下代码:

第三步:启动tomcat,用浏览器访问:http://127.0.0.1:8080/mytest/cat.png

(启动成功)

怎么可能呢?我访问http://127.0.0.1:8080/mytest/cat.png,竟然成功显示出了存放在我E盘里面的图面!

理由是:

<Context path="/mytest"  docBase="E:\picture"  reloadable="true"/>

  docBase:设置访问web的应用或设置本地路径。

  Path:设置tomcat访问应用的URL路径。(URL路径就是例如http://127.0.0.1:80……

 

通俗说就是:配置了上面内容后,以后你访问http://127.0.0.1:8080/mytest Path内容)时,默认就是访问的就是E:\picture docBase内容)里面的内容。

 

所以,我们可以通过修改Contextpath属性来指定url最终访问的是哪个应用,而docBase指明该应用的具体物理地址

 

【拓展】

①至于reloadable:

如果这个属性设为truetomcat服务器在运行状态下会监视在WEB-INF/classesWEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。

在开发阶段将reloadable属性设为true,有助于调试servlet和其它的class文件,但这样用加重服务器运行负荷,建议在Web应用的发存阶段将reloadable设为false

②关于以下tomcat自动生成的代码的说明:

<Context path="/Day1113web"  docBase="Day1113web"  reloadable="true"/>

 

意思就是:当你访问http://127.0.0.1:8080/Day1113web/...时,它默认访问Day1113web/... 为什么 docBase不写明什么盘呢?只写Day1113web系统哪里知道他什么盘?  

因为:除非自己更改了,否则默认位置就是在tomcatwebapps!你的tomcatwebapps下当然有Day1113web这一个项目在!

 

所以你可以发现,你在tomcat下建立了一个新项目时,它自动会在service.xml中生成:

<Context path="/你建的项目名"  docBase="你建的项目名"  reloadable="true"/>

 

猜你喜欢

转载自www.cnblogs.com/tubeWang/p/9975566.html