在将WAR文件部署到本地后,我可以通过“localhost:8080 / [WAR文件名] /”访问索引页,但是如果没有通过在“/ [WAR文件名] /”之间添加“/ [WAR文件名] /”来手动修复URL,则无法访问其他页面“localhost:8080”和控制器RequestMapping值。
如何自动配置将“/ [WAR文件名] /”添加到URI(不作为ROOT.war导出WAR)
如果您使用的是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值覆盖。