翼度科技»论坛 云主机 服务器技术 查看内容

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

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
tomcat修改默认访问项目名称和项目发布路径


1、修改项目发布路径

tomcat默认的而发布路径为
  1. tomcat/webapps/
复制代码
目录,但是这个目录下有一些默认的项目,在tomcat启动的时候会跟着一起加载。
如果不想删除这些项目,可以把tomcat发布的路径修改到其他地方。
找到
  1. tomcat/conf/server.xml
复制代码
文件,修改里面这一行的
  1. appBase
复制代码
为其他路径即可。
  1. <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在运行的情况下,自动载入应用
特地别:
这里既可以用相对路径,也可以用绝对路径。
相对路径默认
  1. tomcat
复制代码
目录为根目录

2、修改默认访问项目

最简单的,可以直接把项目名称修改为
  1. ROOT
复制代码
,放在
  1. tomcat/webapps/
复制代码
目录即可。
如果不想修改。那么在第1步中的
  1. <Host name="localhost"  appBase="/root/webfile/webapps" unpackWARs="true" autoDeploy="true">
复制代码
下面加上下面这句即可,其中
  1. <!-- 设置默认项目名称 -->
  2. <Context path="" docBase="/root/webfile/web" reloadable="true"/>
复制代码

    1. path
    复制代码
    代表用浏览器访问的时候的的路径,如http://localhost:8080/web来访问path=”/web”
    1. docBase
    复制代码
    为你的项目的路径,这里同样既可以用相对路径,也可以用绝对路径。设置好了之后就会把项目自动映射到ROOT
    1. 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="项目绝对路径"
  1. <Context path="/" docBase="E:\tomcat\apache-tomcat-9.0.19\webapps\项目名" debug="0" reloadable="true" />
复制代码
表示此项目已经放到webapps目录下并解压完成。
  1. <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
  2.      <!-- path留空代表访问域名后面不需要带项目的名称 -->
  3.      <Context path="" docBase="webaaa" reloadable="false" />
  4. </Host>
复制代码

    1. docBase
    复制代码
    :代表项目的所在的路径(绝对路径、相对路径都可以)
    1. path
    复制代码
    :代表访问时的项目名称
注意:
该项目会被加载两次,带项目名和不带都可以访问到,所以会导致定时任务执行两次;不建议使用
将项目改成ROOT,是否需要删除<Context path="" docBase="webaaa" reloadable="false" />,没有验证,不删除的话定时任务是否会执行两次,没有验证

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

来源:https://www.jb51.net/server/322237sz5.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具