tomcat把项目放到非webapp目录下且访问路径隐藏项目名|tomcat读取自定义路径下的项目|tomcat设置虚拟目录

来源:互联网 发布:mysql insert return 编辑:程序博客网 时间:2024/05/22 07:42

tomcat把项目放到非webapp目录下且访问路径隐藏项目名tomcat读取自定义路径下的项目、设置虚拟目录


一、设置方法

   方法一:

废话不多说先说设置方法,好处后面说,这里以tomcat7或8为例,最新的tomcat9没试过,不过应该差不多

1.首先进入tomcat的conf目录下,新建名称为  Catalina 的文件夹

2.进入Catalina文件夹下,新建名称为 localhost的文件夹

3.进入localhost文件价下,新建名称为ROOT.xml(后面解释为何是叫ROOT),ROOT.xml内容如下:

<Context path="" docBase="/xxxx/xxxx/api"  reloadable="false" antiJARLocking="true" antiResourceLocking="false"></Context>

完整路径为:tomcat/conf/Catalina/localhost/ROOT.xml

4.说明:

docBase:你想设置的tomcat加载项目的路径

path="" :path设置为空默认覆盖tomcat的ROOT目录,而我们访问访问ROOT目录是无需项目名称的,直接localhost:8080即可。所以第三步中我们新建的xml名称为ROOT.xml。这样做的目的就是项目url的时候可以隐藏项目名字,避免暴露。

path也可以设置为自己想要的名字,但是如果这么做,那么第三步中,ROOT.xml的名字必须和path设置的一模一样。且访问项目的时候路径为 localhost:8080/path里设置的名字,这么做也可以隐藏真实的项目名字,个人更倾向于直接隐藏掉,看个人喜好

方法二:

直接修改conf目录下的server.xml文件,具体如下:

找到 Host节点 ,在其中添加:<Context path="" docBase="换成你的路径" reloadable="true"></Context>

不推荐第二种直接修改server.xml的方式,个人建议使用第一种。

二、应用场景

在生产环境中,把打包好的项目都放到每个tomcat下的webapp目录下不是很方便,比如当一台机器上有多个tomcat容器,那就要把多个包或者编译好的文件分别放到多个tomcat的webapp目录下,这样不利于维护,需要多次copy。

三、好处

如果把多个tomcat设置为读取同一个路径下的项目文件,就只需要放到这个目录下一份即可,维护起来就方便很多。且访问路径中可以隐藏项目名称。

四、小白实际开发中总结,不喜勿喷;如有不对之处,欢迎指正。

阅读全文
0 0
原创粉丝点击