当前位置: 代码网 > 服务器>服务器>Tomcat > 浅谈Tomcat中<Context>标签的使用方式和注意事项

浅谈Tomcat中<Context>标签的使用方式和注意事项

2024年05月14日 Tomcat 我要评论
1、<context>标签说明说明:是用于配置 tomcat 中的 web 应用程序上下文的元素(例:我现在需要部署两个web应用,部署一个前端 web应用需要访问"/&ldqu

1、<context>标签说明

说明:是用于配置 tomcat 中的 web 应用程序上下文的元素(例:我现在需要部署两个web应用,部署一个前端 web应用需要访问"/“导航到主页面。后端 web应用需要访问”/admin"导航到后端页面,我们现在就可以在使用一个tomcat的情况下通过context这个标签去配置来实现上面的功能。)

下面来说明一下该标签中比较重要的几个属性

<context docbase ="/opt/software/app" path ="/"  reloadable ="true"/>
  • docbase:指定 web 应用程序的根目录或文档根目录的路径。在示例中,web 应用程序的根目录被设置为/opt/software/app。
  • path:指定访问该 web 应用程序的 url 路径。在示例中,该 web 应用程序可以通过根路径 / 访问。
  • reloadable:指定是否启用自动重新加载(热部署)功能。如果设置为 true,当检测到 web 应用程序的文件更改时,tomcat 将自动重新加载应用程序。在示例中,reloadable 被设置为 true,表示启用了自动重新加载功能。

2、tomcat部署应用的3种方式

2.1以文件或war包直接部署

将应用文件夹或war文件直接复制到tomcat的webapps目录下,这样tomcat启动的时候会将webapps目录下的文件夹或war文件的内容当成应用部署。这种方式最简单且无须书写任何配置文件

2.2 编辑server.xml配置文件,添加context标签

在tomcat的server.xml配置文件中的host节点下增长context子节点

...
<host name="localhost" appbase="webapps" unpackwars="true" autodeploy="true">
<context path= "/test" docbase= "d:\private\tomcat\test.war" />
...

其中path制定访问url路径, docbase项目真是路径。其中,path即context path;docbase指向应用所在的文件夹或war文件,能够是绝对路径,也能够是相对路径(相对该context所在的host的appbase属性值)

2.3 在tomcat的conf/[engine]/[host]目录下新建xml文件,文件名为<应用名称>.xml

注意:如果以想要访问目录,需要在该目录下新建root.xml,然后将下面内容复制进去。即可访问

<context docbase="/opt/software/test/wh-security1"  reloadable="true" />

接下来我们访问控制台进行测试:

下面我们在看一下日志的打印信息:使用该方式部署的应用支持热部署,只要修改了该文件就能被tomcat监听到

接下来我们在做一个验证:我修改root.xmlwh-security.xml,然后在看一下日志和控制台的变化。

日志打印信息:确实发生了改变

控制台访问:却是发生了改变

上面的配置可以发现我并没有添加path属性,其实不管我们是否配置,它已经不生效了。下面简单做个验证,在wh-security.xml中添加该path属性并且该uri为app.

<context docbase="/opt/software/test/wh-security1" path="/app"  reloadable="true" />

查看日志信息:绿框说的很详细,该路径属性已经被忽略

访问控制台:很明显,当我们访问“/app”得到却不是我们想要的结果,说明通过这种方式部署,该路径属性会被忽略。

结论:这3种部署应用的方式更推荐第三种,其中第二中部署方式的局限性比较大,每次配置完成之后都需要重新启动一下tomcat服务器才生效。第一种和第三种都支持热部署。

到此这篇关于浅谈tomcat中<context>标签的使用方式和注意事项的文章就介绍到这了,更多相关tomcat context标签内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

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

发表评论

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