需求:
最近正在做的项目要求直接通过IP访问,即不加项目名访问的方式。百度了之后有两种方式:
1、在server.xml的<Host>节点中增加<Context>节点的方式。
2、直接将要部署的项目放入webapps下并改名为ROOT。
我两种方式都试了一下都是可以的,但是中间遇到的问题是:使用第一种方式添加了Context节点之后,tomcat启动时项目加载了两次!
一、增加<Context>节点方式
如上图添加就可以,mywebapps是自己创建的一个目录,与webapps目录同级,docBase属性加…/是因为当前Host节点的appBase属性是webapps,代表当前在webapps目录下,如果想去mywebapps目录则需要…/先返回上级菜单。
上面两张是创建的目录情况。此时启动tomcat后就可以通过IP方式访问test_project项目了,即通过"localhost:8080"访问。
项目重启两次的原因、解决方法: 项目启动两次可能会导致项目中的定时任务被执行两次导致数据混乱。如果启动时发现test_project项目启动了两次,很可能是webapps目录下也存在一份test_project项目,因为启动tomcat时会默认启动webapps下的所有项目和自己添加的context节点的项目,所以导致项目启动两次,删除一个就可以。
二、将项目改成ROOT
webapps目录下的ROOT文件夹本来就是tomcat通过IP方式默认访问的项目,所以可以将自己的项目改名为ROOT或者将原来的ROOT文件夹清空,将自己的项目放进去启动tomcat即可。