当前位置: 代码网 > 服务器>服务器>Tomcat > tomcat如何修改默认访问项目名称和项目发布路径

tomcat如何修改默认访问项目名称和项目发布路径

2024年06月14日 Tomcat 我要评论
tomcat修改默认访问项目名称和项目发布路径1、修改项目发布路径tomcat默认的而发布路径为tomcat/webapps/目录,但是这个目录下有一些默认的项目,在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为你的项目的路径,这里同样既可以用相对路径,也可以用绝对路径。设置好了之后就会把项目自动映射到root
  • reloadable,如果这个属性设为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" />,没有验证,不删除的话定时任务是否会执行两次,没有验证

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com