日期:2014-05-17  浏览次数:20753 次

当使用Context元素来发布Web应用时,path的作用是什么?
小弟刚刚入门,正按照书上写的东西一点点的练习,今天发现了一个和书中描述不同的地方。现象如下。

假设创建了一个Web应用,存放路径为:D:/helloapp ,
然后在 C:/Tomcat6.0/conf/Catalina/localhost/ 下建 helloapp.xml 内容如下

<Context path="/helloapp" docBase="D:\helloapp"/>

书中说这里的path属性表明访问helloapp应用的URL入口为/helloapp
即,访问helloapp应用中的login.htm(在D:\helloapp\下存在login.htm)的URL为 
http://localhost:8080/helloapp/login.htm


但是我在试了几次发现,其实访问helloapp应用的URL入口与path的属性并没有关系,而是与
C:/Tomcat6.0/conf/Catalina/localhost/下创建的xml文件名字有关。

比如说当把这个文件名字改为 he.xml
那么访问helloapp的URL就变为了 http://localhost:8080/he/
而访问login.htm的URL也同时变为了http://localhost:8080/he/login.htm
我还试了一下,把helloapp.xml中的path属性删除,也不影响访问。

不知道小弟描述的清楚明白不,
那我现在又有个疑问了,这个xml文件中的path属性到底是用来做什么的呢?




------解决方案--------------------
正好手旁有tomcat 6指南!查一查.布署WEB应用
1.server.xml增加一个Context元素.这种方式比较灵活
2.Context xml片段文件布署.就是你用的这种方.在tomcat5中新增的
在CATALINA_HOME/conf/[EngineName]/[Hostname]目录树中增加一个新的context xml片段或创建为Web应用程序的WEB-INF/context.xml(该文件与Web应用程序目录相关)

此种方式不能在context xml片段文件中设置Context元素路径属性.《TOMCAT权威指南》第106页