一、热部署:
所谓的tomcat热部署
,就是在不重启tomcat服务器的前提下,将自己的项目部署到tomcat服务器中。
也可以理解为当对JSP或JAVA类进行了修改在不重启WEB服务器前提下能让修改生效。但是对配置文件的修改除外!
二、使用场景:
热部署适用于频繁的部署并且启动耗时长的应用、无法停止服务的应用等,满足这些场景的生产环境等(比如王者农药哈哈你懂得)。在开发环境中使用的话,开发和debug,也可以大大的提高开发效率。
三、怎么配置:
1)方式一:手工热部署
启动tomcat(bin/startup.bat),地址栏输入 http://localhost:8080,会弹出小猫界面,点击manager webapp会弹出提示框输入用户名密码,没有权限的意思,然后打开conf目录下tomcat-users.xml,自行添加内容:用户名密码(此处密码要求必须更换)
eg:用户名 tomcat 密码 tomcat
<role rolename="manager-gui" />
<role rolename="manager-script" />
<user username="tomcat" password="tomcat" roles="manager-gui, manager-script"/>
eg:用户名 tomcat 密码 123456
<role rolename="manager-admin" />
<user username="tomcat" password="123456" roles="manager-admin"/>
然后重启tomcat,输入刚刚配置的用户名密码,就会正确进入了。
选择之前打好的war。
2)自动部署
就是在不重启tomcat的情况下,结合maven的pom.xml配置,同样要先设置好远程服务器manager管理界面的登录用户名与密码。
第一步:配置server.xml
方式一:在tomcat\conf\server.xml中的Host标签中加上一个配置。
<Context docBase="D:/test/web" path="/demo" privileged="true" reloadable="true"/>
方式二:也可以在tomcat\conf\catalina\localhost中添加一个xml文件demo.xml。服务器会使用xml文件的名字作为URL路径。
<?xml version="1.0" encoding="UTF-8"?>
<Context docbase="D:/test/web" reloadable="true"/>
参数详情:
- docBase:项目路径,可以使用绝对路径或相对路径,相对路径是相对于webapps ;
- path:访问项目的路径如http://127.0.0.1:8080/demo
reloadable
:要是这个属性设置为true,Tomcat服务器在运行状况下会监视在WEB-INF/classess和WEB-
INF/lib目次下的class文件的改动,以及监视web应用的WEB-INF/web.xml文件的改动。要是检测到的class文件或者web.xml文件被更新,服务器会自动加载Web应用。该属性的默认值为false.在web应用的开发和调试阶段,把reloadable设为true,可以方便对web应用的调试。在web应用正式发布阶段,把reloadable设为 false,可以减低tomcat的运行负荷,提高Tomcat的运行性能。
第二步:配置pom.xml
首先:需要修改工程的pom文件-》配置tomcat插件。
<build>
<plugins>
<!-- 配置Tomcat插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<port>8081</port>
<path>/</path> <url>http://192.168.25.128:8081/manager/text</url>
<username>tomcat</username> <!--之前设置的用户名-->
<password>123456</password> <!--之前设置的用密码-->
</configuration>
</plugin>
</plugins>
</build>
其次:使用maven命令进行部署。
clean tomcat7:deploy(第一次部署用)
clean tomcat7:redeploy(可修改内容进行测试,看是否在tomcat启动时能够更新内容)