将MVC webapp部署到tomcat问题URI

问题描述 投票:0回答:1

在将WAR文件部署到本地后,我可以通过“localhost:8080 / [WAR文件名] /”访问索引页,但是如果没有通过在“/ [WAR文件名] /”之间添加“/ [WAR文件名] /”来手动修复URL,则无法访问其他页面“localhost:8080”和控制器RequestMapping值。

如何自动配置将“/ [WAR文件名] /”添加到URI(不作为ROOT.war导出WAR)

spring-boot tomcat9
1个回答
0
投票

如果您使用的是Thymeleaf模板引擎,则需要使用Link URL syntax将模板中的链接作为相对URL正确呈现。所以如果你想要HTML中的链接(比如说)

<a href="/[WAR file name]/books/list">See all books</a> 

您需要将其包含在模板中

<a th:href="@{/books/list}">See all books</a>

如果您愿意,还可以保留原始的href属性:

<a href="/books/list" th:href="@{/books/list}">See all books</a>

例如,如果你在MVC应用程序之外使用Thymeleaf模板,那么这可能是有用的,但是,当由Tomcat提供服务时,它将被th:href值覆盖。

© www.soinside.com 2019 - 2024. All rights reserved.