【问题标题】:Error resolving template in a Spring boot Web Application when deployed to external tomcat部署到外部 tomcat 时,在 Spring Boot Web 应用程序中解析模板时出错
【发布时间】:2020-06-25 23:51:58
【问题描述】:

我有一个 Spring Boot Web 应用程序 从 IDE 启动时运行良好(我使用的是 Spring Tool Suite) 当我部署到外部 tomcat 时,它在所有地方都显示错误。 当我从我使用的 IDE 运行它时 http://localhost:8080/login

当我从我使用的外部 tomcat 运行它时 http://localhost:8080/webapp/login

挑战在于,我什至无法从外部 Tomcat 正确填充样式,因为从嵌入式 Tomcat 服务器运行时一切正常。

解析模板[文件夹/页面]时出错,模板可能不存在或可能无法被任何已配置的模板解析器访问

我在配置中缺少什么吗? 简而言之,我可以说, 当我使用战争名称作为应用程序根上下文时,我的应用程序似乎失败了 返回视图时我是否必须在控制器中提及战争名称? 如果是,那么如何?我试过了,还是不行

【问题讨论】:

  • 你能添加完整的错误/异常/堆栈跟踪吗?

标签: spring-boot spring-mvc spring-security thymeleaf tomcat9


【解决方案1】:

如果您希望在将应用程序部署到外部 Tomcat 时具有相同的行为(/login 而不是 /webapp/login),则应配置上下文路径。

有多种方法可以实现这一点:

  1. 将您的.war 文件命名为ROOT.war 并将其放在webapps 目录中
  2. 关注这个问题的不同想法:How to set the context path of a web application in Tomcat 7.0

【讨论】:

  • 感谢您的回复,我通过执行第 1 步设法让它工作 奇怪的是它可以在 Windows 上工作,但不能在 Linux 上工作,(看起来 tomcat 找不到部署和爆炸战争)正在修复 Windows
  • 很高兴听到这个消息,您能否将此答案标记为正确,以便将来其他开发人员从中受益?关于 Linux 上的差异,您可能会在 StackOverflow 上提出一个新问题
猜你喜欢
  • 2018-11-30
  • 2014-03-01
  • 1970-01-01
  • 2020-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-01
  • 2018-08-24
相关资源
最近更新 更多