文章目录
-
- 1、“标签说明
- 2、Tomcat部署应用的3种方式
1、
标签说明
说明:是用于配置 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:privatetomcattest.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.xml
为wh-security.xml
,然后在看一下日志和控制台的变化。
- 日志打印信息:确实发生了改变
- 控制台访问:却是发生了改变
上面的配置可以发现我并没有添加
path
属性,其实不管我们是否配置,它已经不生效了。下面简单做个验证,在wh-security.xml
中添加该path属性并且该uri为app.
Context docBase="/opt/software/test/WH-Security1" path="/app" reloadable="true" />
- 查看日志信息:绿框说的很详细,该路径属性已经被忽略
- 访问控制台:很明显,当我们访问“/app”得到却不是我们想要的结果,说明通过这种方式部署,该路径属性会被忽略。
结论
:这3种部署应用的方式更推荐第三种,其中第二中部署方式的局限性比较大,每次配置完成之后都需要重新启动一下Tomcat服务器才生效。第一种和第三种都支持热部署。