通常情况下,我们在运行javaweb项目时,通过eclipse的debug启动tomcat,要运行哪个项目就独个项目启动右键debug,这样每个项目都要运行一遍才能看到页面的效果。但是通过配置tomcat可以“一键式”加载所要启动的项目,即使eclipse没有打开,你也可以随便查看所要项目的页面了。具体配置也很简单:
找到tomcat 安装目录,进入conf-->Catalina-->localhost文件夹下,新建一个xml 文件,名称随便起(英文就行)。
配置如下:
<Context docBase="D:\workspace2\trackvis\WebContent" >
</Context>
docBase是网页存放的绝对位置,即你的eclipse建的这个javaweb的jsp页面放在哪里;我放在下图所示的这个路径下,所以docBase填入这个路径。
保存刚刚写的xml文件,之后启动tomcat.可以看到tomcat把这个文件成功加载进来了
接下来打开浏览器,访问这个网页。关键时候来了,要在地址栏上输入什么呢?敲黑板!!!!
为什么不是项目名加index.jsp呢,因为刚刚建的xml我把它叫做mcsbq了呀!这是页面的虚拟路径!!!特别注意了。
举一反三,多个项目就建多个xml,里面配置上项目的路径就行啦,启动tomcat会把它们一次性加载进来的。但是有一个缺点,如果项目太多又太大,tomcat启动会比较缓慢。
还有另一种配置方法:是从server.xml的host标签结束前添加如下代码:
<Context docBase="D:\workspace2\trackvis\WebContent" path="/ds"
workDir="work\Catalina\localhost\dc">
docBase上面已经说过了,那么path是什么呢?还记得虚拟路径吗?这里是指明这个页面外界要访问它所经过的虚拟路径!workDir是jsp页面转换成java并编译生成.class文件之后存放的路径,启动tomcat之后可以到tomcat的work文件夹下面找找是不是存在了一个dc文件夹,里面放的就是转换和编译过后的东西啦。
为什么server.xml要多加path?因为tomcat服务器目录\conf\Catalina\localhost下的xml名称就自动代表虚拟路径了,所以它不用加path说明。不过呢,在Tomcat6以上版本,还是不建议在server.xml文件中配置context元素。希望大家用第一种方法。