以下内容转载自--http://blog.csdn.net/miqi770/article/details/2109805
tomcat详细部署之我见
版本:tomcat5.5.17
要求:使用http://localhost时,可以直接访问自己开发的项目(项目名比如:xm)
准备动作(注意):
当你使用以下方法一或方法二之前一定要做好准备动作。
原因:在Tomcat 5.5/server/webapps目录下会有tomcat自带的两个项目(manager,host-manager),
当tomcat安装好后,开启服务,就可以直接访问了,比如使用http://localhost/manager时就可以访问了.
如果你自己开发的项目xm中有一个目录manager(Tomcat 5.5/webapps/xm/manger/xxx.jsp),
这时当访问xm项目的manager目录下的内容时,你会发现浏览器中显示是Tomcat 5.5/server/webapps/manager/下的内容,即tomcat自带的manager项目的内容!
这时冲突就产生了.所以我建议不管有没有同名的manager目录,都要把tomcat自带的项目删掉(我是这样处理,不知道还有什么其他的方法解决冲突).
删除tomcat自带的项目方法:
1 删除Tomcat 5.5/server/webapps/下所用内容
2 删除Tomcat 5.5/conf/Catalina/localhost/下的同名的配置文件(如果只删除项目,不删除配置文件,tomcat启动时会报错)
方法一:目录映射
<Context path="" docBase="xm"
debug="5" reloadable="true" crossContext="true">
</Context>
以上标签内容是把Tomcat 5.5/webapps/xm项目在url中映射为空,也就是直接输入ip(localhost)就可以访问.
docBase属性后面还可以写绝对路径.
这段代码编写在server.xml中
<Context path="" docBase="safety"
debug="5" reloadable="true" crossContext="true">
</Context>
</Host>(host结束标签上面)
注意:在tomcat中对每个单独的项目的目录映射配置可以写在Tomcat 5.5/conf/Catalina/localhost/下的同名的配置文件(xm.xml)
xm.xml中就编写
<Context path="" docBase="xm"
debug="5" reloadable="true" crossContext="true">
</Context>
可是我发现当path="" 时,使用http://localhost访问,责直接跳到Tomcat 5.5/webapps/ROOT项目了(我试了多次,都是这样).
当path="XXX" 时,path属性不为空时,使用http://localhost/XXX访问 就好用.
这样使用eclipse发布xm到tomcat,使用http://localhost时,可以直接访问自己开发的项目,并且使用http://localhost/xm时,也可以直接访问自己开发的项目.
方法二: ROOT目录
准备工作做好后,不用修改server.xml.
使用eclipse发布xm到tomcat
把ROOT目录删掉,把xm重命名ROOT
使用http://localhost时,可以直接访问自己开发的项目
注意:
两种方法不要混用,否则脑子肯定混乱,而且不好管理.
当配置jndi时,建议使用方法一.端口的修改大家都会.