【问题标题】:SpringBoot cannot provide jsp files in webapp FolderSpringBoot 无法在 webapp 文件夹中提供 jsp 文件
【发布时间】:2019-04-11 17:35:45
【问题描述】:

我是 springboot 的新手,尝试简单的 webapp。

使用 springboot 2.1.0 application.properties 文件,如下所示。 我在 src/main/webapp/WEB-INF/jsp 中有 jsp 文件

  spring.mvc.view.prefix=/WEB-INF/jsp/
  spring.mvc.view.suffix=.jsp

我的控制器是 .

@Controller
class WelcomeController {
    @GetMapping("/")
    fun showWelcomePage(model: Model): String {
      model["name"] = "asdas"
      return "welcome"
    }
}

当我将 jsp 文件放入 /main/resources/META-INF/resources/WEB-INF/jsp 时,它可以正常工作,否则会出现以下错误

There was an unexpected error (type=Not Found, status=404).
/WEB-INF/jsp/welcome.jsp

pom 也有 tomcat-embed-jasper 依赖

    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>

有什么想法吗?

【问题讨论】:

    标签: spring spring-mvc spring-boot


    【解决方案1】:

    确保jasper依赖和嵌入式tomcat依赖版本应该相同,否则会出现问题。

    还可以尝试将 jsp 页面放在自身外部,如 src/main/webapp/abc.jsp 并删除视图解析器并直接返回,如“abc.jsp”,看看是否有效。

    7:30 见 this

    【讨论】:

    • 我试过了,但出现了同样的错误。使用tomcat 9.0.12 并添加tomcat-jasper 9.0.12 clear app properties ,/webapp/ 直接下的jsp文件得到相同的错误出现意外错误(type = Not Found,status = 404)。 /login.jsp
    • 哦..:(想知道为什么要使用jsp而不是thymeleaf?
    • 当我使用 intellij spring 初始化程序创建一个新项目并添加了 jasper 依赖项时,它非常感谢。实际上我有使用jsp的经验,我从它开始。你建议用百里香代替jsp吗?
    • 是的,当然..来自社区的大力支持,比 jsp 进步很多。
    • 尝试放弃投票并接受答案,如果它对你有帮助..快乐编码
    【解决方案2】:

    你在使用intellij吗?我有过相同的spring boot(jsp视图)项目在eclipse中工作的经验,但它在intellij中不起作用。我要求jetbrain解决这个问题,他们对我说“这是对的,但我们建议使用像车把这样的模板引擎”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-25
      • 2019-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-26
      相关资源
      最近更新 更多