tomcat如何修改默认访问项目名称和项目发布路径
作者:每日一小知识
这篇文章主要介绍了tomcat如何修改默认访问项目名称和项目发布路径问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
tomcat修改默认访问项目名称和项目发布路径
1、修改项目发布路径
tomcat默认的而发布路径为tomcat/webapps/
目录,但是这个目录下有一些默认的项目,在tomcat启动的时候会跟着一起加载。
如果不想删除这些项目,可以把tomcat发布的路径修改到其他地方。
找到tomcat/conf/server.xml
文件,修改里面这一行的appBase
为其他路径即可。
<Host name="localhost" appBase="/root/webfile/webapps" unpackWARs="true" autoDeploy="true">
其中:
- name是虚拟主机名,对应目录 /conf /Catalina /localhost
- unpackWARs 为是否自动解压war文件,如果设置为true,表示把war文件先展开再运行。如果为false则直接运行war文件
- autoDeploy,默认为true,表示如果有新的WEB应用放入appBase并且Tomcat在运行的情况下,自动载入应用
特地别:
这里既可以用相对路径,也可以用绝对路径。
相对路径默认tomcat
目录为根目录
2、修改默认访问项目
最简单的,可以直接把项目名称修改为ROOT
,放在tomcat/webapps/
目录即可。
如果不想修改。那么在第1步中的
<Host name="localhost" appBase="/root/webfile/webapps" unpackWARs="true" autoDeploy="true">
下面加上下面这句即可,其中
<!-- 设置默认项目名称 --> <Context path="" docBase="/root/webfile/web" reloadable="true"/>
path
代表用浏览器访问的时候的的路径,如http://localhost:8080/web来访问path=”/web”docBase
为你的项目的路径,这里同样既可以用相对路径,也可以用绝对路径。设置好了之后就会把项目自动映射到ROOTreloadable
,如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用
tomcat配置访问项目不加项目名称
把项目打成war包放到tomcat的webapps目录时,只能通过项目名才能访问,那么如何省略项目名直接访问呢?
方式一(简单快捷)
做法很简单,首先把webapps目录下的所有文件夹删除,把打包好的war放到webapps下,并命名为ROOT.war,那么在重启tomcat后就可以直接访问,不需要添加项目名。
方式二
打开tomcat 安装目录下的 conf/server.xml文件,在 `HOST` 节点下添加 Context 节点 docBase="项目绝对路径"
<Context path="/" docBase="E:\tomcat\apache-tomcat-9.0.19\webapps\项目名" debug="0" reloadable="true" />
表示此项目已经放到webapps目录下并解压完成。
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false"> <!-- path留空代表访问域名后面不需要带项目的名称 --> <Context path="" docBase="webaaa" reloadable="false" /> </Host>
docBase
:代表项目的所在的路径(绝对路径、相对路径都可以)path
:代表访问时的项目名称
注意:
该项目会被加载两次,带项目名和不带都可以访问到,所以会导致定时任务执行两次;不建议使用
将项目改成ROOT,是否需要删除<Context path="" docBase="webaaa" reloadable="false" />,没有验证,不删除的话定时任务是否会执行两次,没有验证
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。