最近,正在学习部署Java的一个SSM项目到服务器端,一开始以为只需要把项目形成的打包文件*.war上传到服务器Tomcat的/webapps/目录下后,重新启动Tomcat服务器就可以了。但是,实际这么操作之后会发现,如果是想直接从网站的根目录下就可以直接访问到自己的项目是没法直接办到的。会有需要添加一个uri路径(/oa_web-1.0-SNAPSHOT/)的情况。
于是参考了相关资料,得到的解决方案如下:
由于每个 WAR 包会被部署到一个以 WAR 包文件名命名的上下文路径下。要将项目部署到根目录,需要修改 Tomcat 的配置。
1. 准备工作
1.1 停止 Tomcat 服务器
在进行任何配置更改之前,请确保 Tomcat 服务器已停止运行。
1.2 移除默认的 ROOT 应用
Tomcat 的webapps
目录下有一个默认的ROOT
文件夹,它对应于根目录的应用。你需要将其删除或重命名,以避免冲突。
1.3 修改server.xml
文件
找到 Tomcat 的conf
目录下的server.xml
文件,在该文件中找到Host
元素,通常如下所示:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="myapp" reloadable="true"/>
...
</Host>
2. 重新启动 Tomcat 服务器
保存server.xml
文件后,重新启动 Tomcat 服务器。Tomcat 会自动解压并部署你的 WAR 包到根目录。
3. 验证部署
启动 Tomcat 服务器后,你可以通过以下方式验证是否可以通过根目录访问项目内容:
- 打开浏览器,输入
http://localhost:8080
(假设 Tomcat 运行在默认的 8080 端口)。 - 如果一切正常,你应该能够看到你的 SSM 项目的首页。
4. 注意事项
- WAR 包名称:确保
server.xml
文件中的docBase
属性与你的 WAR 包名称(不包括.war
扩展名)一致。 - 冲突问题:如果 Tomcat 中已经存在一个名为
ROOT
的应用,可能会导致冲突。确保在部署之前删除或重命名webapps
目录下的ROOT
文件夹。 - 重新部署:如果你需要重新部署项目,只需将新的 WAR 包复制到
webapps
目录下,并重新启动 Tomcat 服务器。
通过以上步骤,你应该能够将 SSM 项目的 WAR 包部署到 Tomcat 服务器的根目录,并通过根目录的访问形式直接访问项目内容。