77人参与 • 2024-06-14 • Tomcat
tomcat默认的而发布路径为tomcat/webapps/
目录,但是这个目录下有一些默认的项目,在tomcat启动的时候会跟着一起加载。
如果不想删除这些项目,可以把tomcat发布的路径修改到其他地方。
找到tomcat/conf/server.xml
文件,修改里面这一行的appbase
为其他路径即可。
<host name="localhost" appbase="/root/webfile/webapps" unpackwars="true" autodeploy="true">
其中:
特地别:
这里既可以用相对路径,也可以用绝对路径。
相对路径默认tomcat
目录为根目录
最简单的,可以直接把项目名称修改为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应用把项目打成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" />,没有验证,不删除的话定时任务是否会执行两次,没有验证
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论