关于tomcat部署,配置,访问路径等诺干问题总结

一. 关于tomcat项目访问路径问题总结
我们一般把项目部署在tomcat目录下面的webapp中,访问项目资源的时候就必须要带上这个项目文件夹名称。如果想要去掉这个项目名称,可以通过如下方式来进行:
修改server.xml配置文件
在host节点中加入context节点,

Docbase:代表项目的绝对路径,也可以使用相对路径(相对于/webapp下)
Path:代表项目的虚拟路径名
Debug:设定debug level,0表示提供最少的信息,9表示提供最多的信息。
在这里插入图片描述

Tomcat默认的访问路径在webapp的root下面
比如:http:localhost:8080实际上是访问http:localhost:8080/root,如果后面没有接具体的请求,然后它会去找此目录下的index.html、index.htm、index.jsp这样的资源。这个部分是在web.xml中配置。如果没有这些资源,则会报错。Tomcat config目录下面有个web.xml配置文件,项目也有一个web.xml配置文件,优先使用项目中的配置文件。
如果加入了context节点,并没有设置path路径,它会访问context节点配置的项目资源,而不是root路径下的资源。

server.xml是不可动态重加载的资源,服务器一旦启动了以后,要修改这个文件,就得重启服务器才能重新加载。而context.xml文件则不然,tomcat服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器。Context.xml里面有一个WatchedResource的节点,可以用来监听配置文件是否改动。如果使用此标签来监听server.xml,server.xml修改后也不会重新加载。它的作用级别:

  1. tomcat server级别:在/conf/context.xml里配置
  2. Host级别:在/conf/Catalina/${hostName}里添加context.xml,继而进行配置
  3. web app 级别:在/conf/Catalina/ h o s t N a m e 里 添 加 {hostName}里添加 hostName{webAppName}.xml,继而进行配置
    The locations for Context Descriptors are:
  4. $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml
  5. $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml)

但是我们在使用intellij idea工具的时候,部署项目之后发现tomcat 的webapp目录下面是没有我们部署的项目的。这是因为intellij idea使用Tomcat部署项目后并不会把编译后的项目复制到tomcat的webapps目录下,但是它会把编译好的项目路径告诉Tomcat,让Tomcat来找到这个项目,其它的项目比如Tomcat的主页项目ROOT是打不开的,因为intellij idea 只让Tomcat运行了一个项目.
在C:\Users\xxx.IntelliJIdea2019.3\system\tomcat\Unnamed_varchat_2\conf\Catalina\localhost这样的一个路径下面有一个zw.xml文件
(这个配置正好是上面的server.xml中context节点的配置)

Tomcat部署的方式有如下几种:
(1) 项目打成war放到tomcat下的webapp目录下,tomcat会自动解压,访问路径必须带上项目文件名
(2) 通过http://localhost:8080/manager页面来部署项目,只需要把war的路径传入进去就可以了。同样的,可以访问服务器的manager页面,把本地的项目上传上去就可以了。在manager页面中,可以看到tomcat下面有哪些项目。另外,还可以通过maven插件来直接远程部署
在这里插入图片描述

(3) 通过上面讲的,通过server.xml配置文件来指定项目路径(这种方式部署项目,可以省略项目的文件名称)

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值