`

2009-05-03 18:22 tomcat中配置web项目映射

阅读更多

安装好tomcat后,把你的web项目copy到%TOMCAT_HOME%webapps下面就OK 了。有种更优秀方法就是设定虚拟目录,即把项目的目录映射到tomcat中。这样项目不需要再放到tomcat下,而且给开发人员带来方便,方法如下:
1,找到%TOMCAT_HOME%\conf\server.xml,(即tomcat的安装目录下面相关的文件)打开此xml文件,在 <host> </host>之间加入如下代码:

<Context path="" reloadable="true" debug="0" docBase="E:\workspace\test\bin" workDir="E:\workspace\test\work" crossContext="true" >
</Context>

<Context path="/test" docBase="E:\aaa" debug="0" reloadable="true"/>

    docBase是实际路径,这里一般写一个绝对的磁盘路径,当然也可以写相对路径,相对路径是相对于tomcat安装目录的webapps目录的,通常设 置虚拟目录的目的是将tomcat的安装和项目的保存分开,所以这里建议你使用磁盘绝对路径,并且这个磁盘路径不时在tomcat安装目录下。 workDir是tomcat运行是对JSP文件做编译后的文件,这个文件最好也是分开。
path为虚拟路径,访问时的路径,注意:一定要加 “/”。值得注意的是:path可以为"/"那么访问“IP:端口”就可以访问到布置的工程,如果为"/test",那么必须得访问“IP:端口 /test”才能访问到,我建议采用第一种方法。不然访问每个工程都得有个虚拟路径,看上去不舒服。可能你会想到如果我有多个工程怎么办?是不是一定得取 几个虚拟路径,如果你用一个IP的话那是肯定的。但是如果你把机器多设置几个IP,那么就行了,每个工程占用一个IP,这样层次结构更加清晰。
debug建议设置为0,reloadable设置为true。

其实不用那么麻烦,只要把<Context path="/EHOP" docBase="D:\Study\Myproject\workspace\EShop\WebRoot"/> 写在</Host>上面一行就OK了!


2,如果在测试中出现404的错误,如果前面配置没有错,可能就是在%TOMCAT_HOME%\conf\web.xml文件中把虚拟路径显示目录给禁止啦,此时可以在web.xml文件中找到
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
将listings的value改为true,然后重新启动tomcat,在输入url,测试成功!


3,如果项目开发完成,准备部署在服务器上时,记住要把第三步中web.xml文件中参数listings的值改为false,这样可以避免把项目的部署路径呈现给使用者!
具体如下:
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics