# 更新部署指南:Controller类文件更新 ## 已完成的工作 ✅ **Controller代码编译完成**: - 所有更新后的Controller代码已成功编译成class文件 - 生成时间:2025/11/6 13:41 - 所有8个Controller类文件均已更新: - CustomerController.class - EnterpriseController.class - LoginController.class - PoolCustomerController.class - SupplyCustomerController.class - SupplyCustomerRecycleController.class - SupplyEnterpriseController.class - SupplyPoolCustomerController.class ✅ **WAR文件已准备就绪**: - 已更新的WAR文件:`target\DL.war` ## 更新部署步骤 ### 方法1:直接部署整个WAR文件(推荐) 1. **上传新的WAR文件到服务器**: ```bash # 使用scp命令上传 scp "d:\java\project\web(8)\web\target\DL.war" user@your-server:/opt/tomcat/webapps/ ``` 2. **设置正确权限**: ```bash cd /opt/tomcat sudo chown -R tomcat:tomcat webapps/ sudo chmod -R 755 webapps/ ``` 3. **重启Tomcat以加载新代码**: ```bash cd /opt/tomcat/bin sudo ./shutdown.sh sleep 30 sudo ./startup.sh ``` ### 方法2:只更新Controller的class文件(可选,风险较高) 如果只想更新controller的class文件而不重新部署整个WAR: 1. **找出Tomcat中已解压的应用目录**: ```bash cd /opt/tomcat/webapps/DL/WEB-INF/classes/com/example/web/controller ``` 2. **备份当前的controller文件**: ```bash mkdir -p backup cp *.class backup/ ``` 3. **上传新的controller class文件**: ```bash # 本地准备命令 # 创建临时目录复制所有controller文件 mkdir -p temp_controller cp target\classes\com\example\web\controller\*.class temp_controller\ # 然后将整个目录上传 scp -r temp_controller user@your-server:/opt/tomcat/webapps/DL/WEB-INF/classes/com/example/web/ # 服务器上执行 cd /opt/tomcat/webapps/DL/WEB-INF/classes/com/example/web/ mv temp_controller/* controller/ rmdir temp_controller ``` 4. **设置权限**: ```bash sudo chown tomcat:tomcat controller/*.class sudo chmod 644 controller/*.class ``` 5. **重启Tomcat**(即使只更新class文件,为确保线程安全也建议重启): ```bash cd /opt/tomcat/bin sudo ./shutdown.sh sleep 30 sudo ./startup.sh ``` ## 验证部署 1. **检查Tomcat日志确认部署成功**: ```bash tail -f /opt/tomcat/logs/catalina.out ``` 2. **验证应用是否正常运行**: - 访问:http://服务器IP:8080/DL - 尝试使用更新的Controller功能 ## 回滚方案 如果更新出现问题,可以快速回滚: 1. **方法1回滚**:删除新WAR文件,恢复旧WAR文件 ```bash cd /opt/tomcat/webapps sudo rm -rf DL.war DL/ sudo cp backup/DL.war . sudo ./bin/startup.sh ``` 2. **方法2回滚**: ```bash cd /opt/tomcat/webapps/DL/WEB-INF/classes/com/example/web/controller cp backup/*.class . sudo ./opt/tomcat/bin/startup.sh ``` --- **注意**:推荐使用方法1完整部署WAR文件,以确保所有依赖关系正确加载,避免潜在的类加载问题。