问题要求:我们用Java写一个Web项目Test,例如:客户端访问: Http://localhost:8080/(假如采用Tomcat,那Test项目就是在WebApp根目录下的Root目录里面),那如果我们将这个项目放到 WebApp根目录下的Test目录下,那客户端访问的时候,应该这样子访问:http://Localhost:8080/Test/, 但是我们要求,客户端仍然采用 Http://localhost:8080/ 来访问【放到 WebApp根目录下的Test目录下】这个项目的时候,如何做?(注意:可以将所放的项目路径放到配置文件里面

解决方案 »

  1.   

    我的意思是【这个项目不管放到什么地方,只需将路径放到配置文件里面,客户端Url 访问地址不会发生改变!】
      

  2.   

    配置 context.xml 或者 server.xml<Context path="" docBase="...." ... />path 置为空
      

  3.   

    不大会这么做。一般会在 tomcat 外层再套个 web 服务器,比如 Apache, Nginx 什么的,利用 Web 服务器来跳转。
      

  4.   

    这个能不能用 Filter 来实现!(我先从配置文件里面读取项目所放的路径,然后在Filter拦截的时候,给他做页面转向,客户端仍然采取原来的Url 地址访问!不过遇到Filter拦截的时候,Url地址马上就变了!)
      

  5.   

    在server.xml中的<host></host>配置虚拟目录<Context path="" docBase="...." ... />
      

  6.   

    2楼和5楼说的很正确!配置虚拟目录之后,客户端访问Url 地址永远不变,你可以任意将项目放到任意位置,只需将项目所放路径配置好之后,启动Tomcat,一切就OK了,我下来告诉你如何操作!假如你Tomcat安装在D:\apache-tomcat-5.5.27\, 打开\conf\Catalina\localhost\目录,创建一个xml文件,暂时叫:software51.xml,里面内容:<?xml version='1.0' encoding='utf-8'?>
      <Context path="/software51" docBase="E:\Project"  debug="0"  reloadable="true"   >
      </Context>      其中:path 代表的是将来你的Url地址,例如:http://localhost:8080/software51
    docBase表示你所放的项目是在 E盘下Project目录下.然后启动Tomcat,然后在地址栏输入:http://localhost:8080/software51,就可以访问了!